Restful api

RESTful 的介绍
  • RESTful的概念
    • REST:Representational State Transfer的缩写,翻译:“具象状态传输”。一般解释为“表现层状态转换”。
    • REST是设计风格而不是标准。是指客户端和服务器的交互形式。我们需要关注的重点是如何设计REST风格的网络接口。
  • REST的特点
    • 每一个URI代表一种资源,独一无二;
    • 客户端和服务器之间,传递这种资源的某种表现层,txt格式、html格式、json格式、jpg格式等。浏览器通过URL确定资源的位置,但是需要在HTTP请求头中,用Accept和Content-Type字段指定,这两个字段是对资源表现的描述。
    • 交互过程,一定会有数据和状态的转化,这种转化叫做状态转换。其中,GET表示获取资源,POST表示新建资源,PUT表示更新资源,DELETE表示删除资源。HTTP协议中最常用的就是这四种操作方式。
如何设计符合RESTful风格的API
  • 一、域名:
    • 将api部署在专用域名下:
      • http://api.example.com
    • 或者将api放在主域名下:
      • http://www.example.com/api/
  • 二、版本:
    • 将API的版本号放在url中。
      • http://www.example.com/app/1.2/info
  • 三、路径:
  • 四、使用标准的HTTP方法:
  • 五、过滤信息:
  • 六、状态码:
    • 服务器向用户返回的状态码和提示信息,常用的有:
      • 200 OK :服务器成功返回用户请求的数据
      • 201 CREATED :用户新建或修改数据成功。
      • 202 Accepted:表示请求已进入后台排队。
      • 400 INVALID REQUEST :用户发出的请求有错误。
      • 401 Unauthorized :用户没有权限。
      • 403 Forbidden :访问被禁止。
      • 404 NOT FOUND :请求针对的是不存在的记录。
      • 406 Not Acceptable :用户请求的的格式不正确。
      • 500 INTERNAL SERVER ERROR :服务器发生错误。
  • 七、错误信息:
    • 一般来说,服务器返回的错误信息,以键值对的形式返回。
      • {
      • error: 'Invalid API KEY'
      • }
  • 八、响应结果:
  • 九、使用链接关联相关的资源:
    • 在返回响应结果时提供链接其他API的方法,使客户端很方便的获取相关联的信息。
  • 十、其他:
    • 服务器返回的数据格式,应该尽量使用JSON,避免使用XML。


刘小恺(Kyle) wechat
如有疑问可联系博主