-
URL地址尽量使用名词复数,不要使用动词。
-
访问同一个URL地址,采用不同的请求方式,代表要执行不同的操作。(GET, POST, PUT, DELETE)
-
过滤参数可以放在查询字符串中.(?limit=10:指定返回记录的数量)
-
针对不同操作,服务器向用户返回不同的响应数据。
- 获取一组数据,返回一组数据
- 获取指定数据,返回指定数据
- 新增数据,返回新增的数据
- 修改数据,返回修改的数据
- 删除数据,返回空
-
服务器返回的响应数据格式,应该尽量使用JSON。
-
响应状态码
200 OK - [GET/PUT]:服务器成功返回用户请求的数据
201 CREATED - [POST]:用户新建数据成功。
204 NO CONTENT - [DELETE]:用户删除数据成功。
400 INVALID REQUEST - [POST/PUT]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作
404 NOT FOUND - [*]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。。
500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。
Restful风格设计-其他
-
应该尽量将API部署在专用域名之下。
-
应该将API的版本号放入URL
-
错误处理:如果状态码是4xx,服务器就应该向用户返回出错信息。
-
超媒体:RESTful API最好做到Hypermedia(即返回结果中提供链接,指向其他API方法),使得用户不查文档,也知道下一步应该做什么。