关于Restful API
今天在搜索前后端分离相关内容的时候,发现了一个以前也常见的词语:Restful API,今天突然就想查一查这个词究竟是什么意思,便尝试百度了一下,根据我的理解,Restful是一种设计风格,通常用于设计API,其规范中使用统一的接口很适合用于前后端分离。对我所,记录一下我理解的Restful API的设计原则:
1. 每个URI都代表一种资源
2. 进行数据请求时,使用GET/POST/PUT/DELETE四个HTTP动词对服务器端资源进行操作,其中GET用于读取,POST用于创建/更新,PUT用于更新,DELETE用于删除
3. 数据请求时的URI,应只使用名词,对资源的操作应由URI前的四个HTTP动词来表达
例:GET /getBolg/1 bad
GET /blog/1 good
4. 使用?来表示某些特定的查询结果或算法运算结果[1]
5. 服务器端返回结果时,不应返回纯文本,应返回JSON对象或XML
6. 错误发生时,使用对应的状态码而不是返回200并在返回的JSON对象中提示错误[2]
7. 服务器在响应中,应包含相关URI,以便于客户端进行下一步操作
8. HTTP请求应该是独立的,并且可以以任何顺序发生[3]
参考链接:
[1] RESTful 架构详解
[2] RSTful API 最佳实践
[3] Web API design