1.什么是RESTful

RESTful(representational state transfer)是一种接口规范,是一种API设计风格。使用了这种设计风格的架构,即叫做RESTful架构。

2.API请求设计

RESTful将API规定为:动词 + 宾语

  1. 动词一般有五种:
  • get
  • put 修改
  • patch 修改部分信息
  • post 新增
  • delete 删除
  1. 宾语:一般所有名词都使用名词复数
  2. 过滤信息:当返回结果过多时,应提供必要的过滤条件。比如:limit:10,offset:10

    3.Http响应状态码

    Http必须对每一个请求给出回应,包含状态码和数据
    状态码包含五大类:
    1XX 相关信息
    2XX 操作成功
    3XX 重定向
    4XX 客户端错误
    5XX 服务器错误
  • 客户端请求时,要明确告诉服务器,接受 JSON 格式,请求的 HTTP 头的 ACCEPT 属性要设成 application/json
  • 服务端返回的数据,不应该是纯文本,而应该是一个 JSON 对象。服务器回应的 HTTP 头的 Content-Type 属性要设为 application/json
  • 错误处理 如果状态码是4xx,就应该向用户返回出错信息。一般来说,返回的信息中将 error 作为键名,出错信息作为键值即可。 {error: “Invalid API key”}
  • 认证 RESTful API 应该是无状态,每个请求应该带有一些认证凭证。推荐使用 JWT 认证,并且使用 SSL
  • Hypermedia 即返回结果中提供链接,连向其他API方法,使得用户不查文档,也知道下一步应该做什么