共计 1044 个字符,预计需要花费 3 分钟才能阅读完成。
Restful API
REST,即 Representational State Transfer 的缩写。直接翻译的意思是 ” 表现层状态转化 ”。它是一种互联网应用程序的 API 设计理念:URL 定位资源,用 HTTP 动词(GET,POST,DELETE,DETC)描述操作。
实现基础
近年来移动互联网的发展,前端设备层出不穷(手机、平板、桌面电脑、其他专用设备 ……),因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信, 于是 RESTful 诞生了,它可以通过一套统一的接口为 Web,iOS 和 Android 提供服务。
常用的 URL 请求方式
HEAD(SELECT)只获取某个资源的头部信息
GET(SELECT)获取资源
POST(CREATE)创建资源
PATCH(UPDATE)更新资源的部分属性(很少用,一般用 POST 代替)
PUT(UPDATE)更新资源,客户端需要提供新建资源的所有属性
DELETE(DELETE)删除资源
状态码
状态码
字段名称为:code
200 OK [GET] 服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)
201 CREATED [POST/PUT/PATCH] 用户新建或修改数据成功
202 ACCEPTED [*] 表示一个请求已经进入后台排队(异步任务)
204 NO CONTENT [DELETE] 用户删除数据成功
400 INVALID REQUEST [POST/PUT/PATCH] 用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的
401 UNAUTHORIZED [*] 表示用户没有权限(令牌、用户名、密码错误)
403 FORBIDDEN [*] 表示用户得到授权(与 401 错误相对),但是访问是被禁止的
404 NOT FOUND [*] 用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的
406 NOT ACCEPTABLE [GET] 用户请求的格式不可得(比如用户请求 JSON 格式,但是只有 XML 格式)
410 GONE [GET] 用户请求的资源被永久删除,且不会再得到的
422 UNPROCESABLE ENTITY [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误
500 INTERNAL SERVER ERROR [*] 服务器发生错误,用户将无法判断发出的请求是否成功
注意
为了简便, 在 web 设计中, 有时候会统一 ”code:0″ 代表请求成功,”code:1″ 代表请求失败, 状态码为 0, 对应返回 data 字段, 状态码为 1 对应返回 message 字段.