我们正在使用jQuery Mobile为界面设计一个面向移动设备的数据驱动Web应用程序。使用RESTful接口获取数据是否有意义?我可以看到如何建立一个路径为RESTful的网站是有用的,因为用户可以轻松地操纵路径和交叉导航,但如果AJAX调用全部隐藏,REST会带来任何好处(除了让其他开发人员易于理解API之外)。
我问的原因是因为我不相信REST正确使用HTTP。例如,在以下示例中: 1. / product / 12345 / 2. / product?id = 12345 选项1更加RESTful,但2更符合HTTP“兼容”,因为这是标准浏览器提交的方式。在jQuery中,您甚至可以将表单元素序列化为AJAX请求,结果是查询字符串而不是路径。要获得REST URL,您总是需要操作标准URL格式,这是额外的代码,没有真正的好处。 REST是完全忽略查询字符串还是仅用于查询,即搜索?
答案 0 :(得分:3)
The query component is a string of information to be interpreted by the resource.
后来在RFC 3986中更改为:
The path component contains data, usually organized in hierarchical form, that,
along with data in the non-hierarchical query component, serves to identify a
resource (Section 3.3)
所以两者现在都是等价的,但正如你所说的那样 “除了让其他开发人员更容易理解API
你肯定不是故意这么做,它应该是你写过的任何代码行中最重要的事情
答案 1 :(得分:1)
REST标识资源的位置 - 而不是该资源的属性。因此,当您将对象的更改提交到REST API时,您可以发布它们或使用查询字符串。客户端没有太大的实际好处,但它确实使后端更容易测试和管理。