写过一个项目,不过那是在完全不了解restful api的条件下写出来的。现在学了restfull API,来更正几个错误
-
rest is resource based or noun based instead of action based or verb based
http的方法已经突出了动作,在api中就没有必要在写动作了。simple is the best.
像上面的这样,改成https://xxxxxxxxx/circle/:circleId就可以了 -
UPDATE /profile/primaryAddress/city6. 警惕返回结果的大小。如果过大,及时进行分页(pagination)或者加入限制(limit)。HTTP协议支持分页(Pagination)操作,在Header中使用 Link 即可。
3.更新一个Product使用PUT请求,例如,更新id为123的Product,其URL如下:
PUT /api/products/123
-
在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的"集合"(collection),所以API中的名词也应该使用复数。
对于资源的具体操作类型,由HTTP动词表示。
常用的HTTP动词有下面五个(括号里是对应的SQL命令)。
GET(SELECT):从服务器取出资源(一项或多项)。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
DELETE(DELETE):从服务器删除资源。
还有两个不常用的HTTP动词。
HEAD:获取资源的元数据。
OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的。
更多的内容可以参考阮一峰的博客https://www.ruanyifeng.com/blog/2014/05/restful_api.html