我正在研究REST api,并考虑通过使用Loopback框架来减少开发时间.
我喜欢很多关于框架的东西(它似乎符合我的需要),但我完全不喜欢这个:
http://localhost:3000/api/users?filter[where][username]=john&filter[where][email]=callback@strongloop.com
http://localhost:3000/api/users?filter={"where":{"username":"john","email":"callback@strongloop.com"}}
如果您有一个模型,您将其公开为REST API,那就是您的网址的样子.对我来说,这两个选项看起来都很奇怪,有点难看.当你得到这样的例子/汽车时,事情似乎更奇怪了?过滤器[where] [miles] [gt] = 5000.
那么,我可以以某种方式改变所有暴露模型的url形式吗? (更传统的东西).我真的希望有正常的查询字符串,如:
http://localhost:3000/api/users?username=john&email=callback@strongloop.com
他们看起来有什么理由,我应该欣赏外表吗?任何带有这种语法的REST apis?
谢谢
最佳答案 Loopback为您的模型提供REST接口,能够对数据执行非常复杂的查询,而无需任何额外的编码.我认为他们已经模仿了 OData标准的语法.这就是为什么查询字符串比你想象的更复杂的原因.
在Loopback中,您可以使用Remote Methods创建自己的自定义端点,这样您就可以创建和公开像getuser这样的端点,它接受您指定的参数,从而产生更简单的API.