浅谈 REST 和 RESTFul API

RESTFul API的特点:

  1. 基于“资源”,数据也好、服务也好,在RESTFul设计里一切都是资源。
  2. 无状态。一次调用一般就会返回结果,所有的资源,都可以通过URI定位
  3. URL中通常不出现动词,只有名词
  4. URL语义清晰、明确
  5. 使用HTTP的GET、POST、DELETE、PUT来表示对于资源的增删改查
  6. 使用JSON不使用XML

RESTFul API的一些最佳实践原则:

  1. 使用HTTP动词表示增删改查资源, GET:查询,POST:新增,PUT:更新,DELETE:删除
  2. 返回结果必须使用JSON
  3. HTTP状态码,在REST中都有特定的意义:200,201,202,204,400,401,403,500。比如401表示用户身份认证失败,403表示你验证身份通过了,但这个资源你不能操作。
  4. API必须有版本的概念,v1,v2,v3
  5. 使用Token令牌来做用户身份的校验与权限分级,而不是Cookie。
  6. 使用 - 而不是使用 _ 做URL路径中字符串连接。

REST 是基于HTTP,面向资源的,而资源是通过 URI 进行暴露。

优点:对uri进行了限制,只用于定义资源;规范统一,使得API适用于各种各样的前端设备;使用了版本号(V1),更加规范

缺点:API接口返回的数据通常是完整的数据模型,对客户端不是很友好,可能只需要某几个字段

原文地址:https://www.cnblogs.com/liuqing576598117/p/10174362.html