REST作为数据接口是否有意义?

时间:2011-10-27 06:44:55

标签: rest jquery-mobile

我们正在使用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是完全忽略查询字符串还是仅用于查询,即搜索?

2 个答案:

答案 0 :(得分:3)

恕我直言,就REST而言,绝对没有区别。在RFC 2396中有一行

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时,您可以发布它们或使用查询字符串。客户端没有太大的实际好处,但它确实使后端更容易测试和管理。