REST API设计规范
-
完全面向资源,API以复数形式表示
-
路径(Endpoint)
-
http://example.com/libraries //列出所有图书馆
-
http://example.com/books //列出所有图书
-
http://example.com/libraries/ID/books //列出某个图书馆的全部图书
-
http://example.com/libraries/ID/books/ID //列出某个图书馆的某本图书
-
- 筛选条件
-
http://example.com/books?library_id=ID //参数的存在允许API路径与URL参数有相同的含义
-
http://example.com/libraries/ID/books?book_type=biography&year=2010 //筛选出2010年出版的传记类图书
-
- HTTP动词
-
GET 从服务器取出资源
-
POST 向服务器新建资源
-
PUT 向服务器更新资源(客户端向服务器提供完整的资源)
-
PATCH 向服务器更新资源(客户端向服务器提供更新的属性)
-
DELETE 删除资源
- 状态码——常用的HTTP状态码
-
200 服务器成功返回网页
-
304 未修改
-
404 请求的网页未存在
-
503 服务器暂时不可用
-
504 网关超时
-
500 服务器内部错误
- 错误处理:如果返回状态码是4xx,就应该向客户端返回错误信息,通常将error作为键名,错误信息作为键值即可。
-
{ error: "Invalid API key" }
-