RestFul接口设计
Posted renshen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RestFul接口设计相关的知识,希望对你有一定的参考价值。
REST(英文:Representational State Transfer,简称REST),表述性状态转移,指的是一组架构原则。
Restful: 遵守了rest 原则 的web服务或web应用。
URI(Uniform Resource Identifier):统一资源标志符,包含URL和URN。
URL(Uniform Resource Locator):统一资源定位符
URN(Uniform Resource Name):统一资源命名
Schema://host[:port]/path[?query-string]
Schema: 使用的协议类型, 如http/https/ftp等
host: 主机域名或IP
port: 端口号(可选)
path: 路径
query-string: 查询参数(可选)
例子:
https://www.tpshop.com:8080/users?id=100
对于资源, 一般有4个操作, CURD(增/删/改/查)
GET: 从服务器获取资源(一项或多项)
POST: 在服务器新建一个资源
PUT: 在服务器更新资源, 服务器返回完整的属性
DELETE: 从服务器删除资源
如果状态码是4xx或者5xx, 需要告诉客户端对应的错误信息. 通常以Json格式返回:
{
“error”: “错误信息”,
}
针对不同的操作, 服务需要返回的结果应该符合这样的规范
GET /collections -- 返回资源列表(数组)
GET /collections/:id -- 返回单个资源 eg. /collections/1
POST /collections -- 返回新生成的资源
PUT /collections/:id -- 返回资源的完整属性
DELETE /collections/:id -- 返回204状态码+空文档
实际开发中,通常会将 状态码、错误信息、返回数据,都放到返回结果中。
比如:
RESTFul是一种软件设计风格, 主要用于有客户端与服务端交互的软件.
RESTFul 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。
RESTFul风格的数据接口示例:
以新闻资源为例:URI及HTTP动词设计如下
以上是关于RestFul接口设计的主要内容,如果未能解决你的问题,请参考以下文章