REST作为数据接口有意义吗?



我们正在为移动设备设计一个数据驱动的web应用程序,使用jQuery mobile作为界面。使用RESTful接口获取数据有意义吗?我可以看到有一个路径是RESTful的网站是多么有用,因为用户可以很容易地操纵路径和交叉导航,但是如果AJAX调用都是隐藏的,那么REST会带来任何好处吗?(除了使API易于其他开发人员理解)。

我问的原因是因为我不相信REST正确地使用HTTP。例如在下面的例子中:1./产品/12345/2./产品?id = 12345选项1更RESTful,而选项2更"兼容"HTTP,因为这是标准浏览器提交的方式。在jQuery中,您甚至可以将表单的元素序列化为AJAX请求,结果是查询字符串而不是路径。要获得REST URL,您总是需要操作标准URL格式,这是没有实际好处的额外代码。REST完全忽略查询字符串还是它们只用于查询,即搜索?

就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易于其他开发人员理解之外"
你当然不能掉以轻心,它应该是你编写的任何一行代码中最重要的东西

REST标识资源的位置,而不是该资源的属性。因此,当您向REST API提交对对象的更改时,您可以发布它们或使用查询字符串。在客户机上没有多少实际的好处,但它确实使后端更容易测试和管理。

最新更新