编写api接口时为了减少api的使用问题,在编写时主流上都是遵从restful规范来进行的

1.使用https数据交互

https就是基于http协议的基础上使用了tsl/ssl进行数据的加密,而使用api文档时规定需要使用https来进行数据的交互

2.接口地址中带api标识

编写api接口时需要标明这是一个api接口而不是对应的文件、页面等
例如:

  1. https://api.baidu.com/books 标识位于域名中
  2. https://www.baidu.com/api 标识位于地址中

3.接口地址中标识版本标识

一个规范的应用是要是适配老版本的应用的这个时候需要用到版本来标识对应的api接口
例如:

  1. -https://api.baidu.com/v1 #此处使用v加数字表示api版本
  2. -https://api.weibo.com/2/statuses/user_timeline.json #此处使用数字表示api版本

4.数据即是资源,均使用名词,不要出现动词

在编写api接口时不再url中使用动词,避免api接口的重复编写,也能增加api接口的安全性
例如:

  1. https://api.baidu.com/v1/user_login #这样便是错误的
  2. https://api.baidu.com/v1/user #这样书写就是正确的

5.资源操作由请求方式决定

针对于同一个接口却要产生多种功能,这是便需要由请求方式来决定调用什么功能
例如:

  1. https://api.baidu.com/v1/user 使用post请求来进行数据的增加
  2. https://api.baidu.com/v1/user 使用pdelete请求来进行数据的删除
  3. https://api.baidu.com/v1/user 使用put请求来进行数据的修改
  4. https://api.baidu.com/v1/user 使用get请求来进行数据的查询

6.地址中带搜索条件

当我们发送请求需要对应参数时直接在对应请求url后携带即可
例如:

  1. https://api.baidu.com/v1/user?username=bbs123&user_id=1

7.响应状态码

响应状态码可以使开发过程清除的知道问题所在
例如:

  1. 1XX 请求正在处理
  2. 2XX 请求成功 常见的有 200请求成功 201创建成功
  3. 3XX 重定向 常见的有 301临时重定向 302永久重定向
  4. 4XX 客户端错误 常见的有 403没有全向 404没用该资源地址
  5. 5XX 服务器错误 常见的有 500遇到了不知道如何处理的请求 501请求方法不被支持 502服务器无法响应请求

8.响应中带错误信息

当请求成功触发后,服务器返回的响应将附带对应的响应状态码和对应的状态信息
例如:

  1. {'code':200, 'msg':'注册成功'}

9.响应返回的结果要符合规范

例如:

  1. GET /collection:返回资源对象的列表(数组)
  2. 响应返回的结果:[{'food_name':'苹果', 'num':5'price'12},{'food_name':'梨子', num:8price12}]
  3. GET /collection/resource:返回单个资源对象
  4. 响应返回的结果:{'food_name':'苹果', 'num':5'price'12}
  5. POST /collection:返回新生成的资源对象
  6. 响应返回的结果:{'food_name':'苹果', 'num':5'price'12}
  7. PUT /collection/resource:返回完整的资源对象
  8. 响应返回的结果:{'food_name':'苹果', 'num':5'price'12}
  9. PATCH /collection/resource:返回完整的资源对象
  10. 响应返回的结果:{'food_name':'苹果', 'num':5'price'12}
  11. DELETE /collection/resource:返回一个空文档
  12. 响应返回的结果:[]