对RESTful API的理解

RESTful是目前最流行的API设计规范,用于Web数据接口的设计。

一句话描述RESTful就是:客户端发送请求时,用URI定位资源,用HTTP方法描述动作。

也就是“动词+宾语”的结构。

动词通常对应四种HTTP方法,对应增删改查操作

GET:   获取数据

POST:发送数据

PUT:  更新数据

DELETE:删除数据

RESTful是一种规范,除了上面最直观的要求以外,好的RESTful设计最好应该满足下面这些要求:

1.URI的要求

  1. URI应该是名词,不能是动词。比如,/articles这个URI就是正确的,而/getArticles就是错误的
  2. URI单数还是复数?这里没有统一的规定,但是常见的操作是读取一个集合,为了统一起见,建议都用复数URI
  3. 避免多级URL:常见的情况是,资源需要分多级,因此容易写出多级的URL。这种URL不利于扩展,语义也不确定。更好的做法是,除了第一级,其他级别都用查询字符串表达。

例如:下面这两个URL,下面的URL更好。

GET /authors/12/categories/2

GET /authors/12?categories=2

2.状态码

  • 1xx:相关信息
  • 2xx:操作成功
  • 3xx:重定向
  • 4xx:客户端错误
  • 5xx:服务器错误

3.服务器回应

1.返回JSON,不要返回纯文本

2.发生错误的时候不要返回200:有一种不恰当的做法是,即使发生错误,也返回200状态码,把错误信息放在数据体里。

HTTP/1.1 200 OK
Content-Type: application/json

{
  "status": "failure",
  "data": {
    "error": "Expected at least two items in list."
  }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值