wkiwi的博客

Restful Api的含义

发布时间:6年前热度: 3878 ℃评论数:

Resource Representational State Transfer(资源表示状态转移)


特征

(1) 每一个uri代表一种资源;

(2) 客户端和服务器之间,传递这种资源的某种表现层;

(3) 客户端通过四个HTTP动词(GET、POST、DELETE、PUT),对服务器端资源进行操作,实现"表现层状态转化"(增删改查)。

(4) URL中通常不出现动词,只有名词

(5) 使用JSON不使用XML

设计方式

代码如下

  1. HEAD(SELECT)只获取某个资源的头部信息
  2. GET(SELECT)获取资源
  3. POST(CREATE)创建资源
  4. PATCH(UPDATE)更新资源的部分属性(很少用,一般用POST代替)
  5. PUT(UPDATE)更新资源,客户端需要提供新建资源的所有属性
  6. DELETE(DELETE)删除资源

使用方式

代码如下

  1. GET http://www.birjemin.com/api/user # 获取列表
  2. POST http://www.birjemin.com/api/user # 创建用户
  3. PUT http://www.birjemin.com/api/user/{id} # 修改用户信息
  4. DELETE http://www.birjemin.com/api/user/{id} # 删除用户信息

过滤信息

用于补充规范一些通用字段

代码如下

  1. ?limit=10 # 指定返回记录的数量
  2. ?offset=10 # 指定返回记录的开始位置
  3. ?page=2&per_page=100 # 指定第几页,以及每页的记录数
  4. ?sortby=name&order=asc # 指定返回结果按照哪个属性排序,以及排序顺序
  5. ?state=close # 指定筛选条件

状态码

字段名称为:code

代码如下

  1. 200 OK [GET] 服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)
  2. 201 CREATED [POST/PUT/PATCH] 用户新建或修改数据成功
  3. 202 ACCEPTED [*] 表示一个请求已经进入后台排队(异步任务)
  4. 204 NO CONTENT [DELETE] 用户删除数据成功
  5. 400 INVALID REQUEST [POST/PUT/PATCH] 用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的
  6. 401 UNAUTHORIZED [*] 表示用户没有权限(令牌、用户名、密码错误)
  7. 403 FORBIDDEN [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的
  8. 404 NOT FOUND [*] 用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的
  9. 406 NOT ACCEPTABLE [GET] 用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)
  10. 410 GONE [GET] 用户请求的资源被永久删除,且不会再得到的
  11. 422 UNPROCESABLE ENTITY [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误
  12. 500 INTERNAL SERVER ERROR [*] 服务器发生错误,用户将无法判断发出的请求是否成功

错误信息

字段名称:message

示例

代码如下

  1. {"code": 200,"message": "啊哈哈","succ": true,"data": [] }

备注

为了简便,有时候code没有,或者为0,message换成msg,这些实际上实在实际项目中的,不过还是要有一个规范出来,这样方便统一管理。


使用RESTful的好处是什么?


1.看Url就知道要什么

2.看http method就知道干什么

3.看http status  code就知道结果如何

Restful Api,Api接口,GET,POST,PATCH,PUT,DELETE

您看完此新闻的心情是
收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!

热评话题

按钮 内容不能为空!
立刻说两句吧! 查看0条评论

手机扫码访问

Scan me!