有关RESTFulAPI的一些知识点记录
2017-06-19 21:24 核桃不是桃 阅读(392) 评论(0) 收藏 举报RESTFulAPI不等于JSON
优秀的应该是支持多种资源的表现形式的
依据情况,灵活处理
RESTful简介及资源介绍
本质:软件架构风格
核心:面向资源
解决问题:
- 降低开发的复杂性
- 提高系统的可伸缩性
RESTful的设计概念与准则
- 网络上的所有事物都可以抽象为资源
- 每一个资源都有唯一的资源标识,对资源的操作不会改变这些标识
- 所有的操作都是无状态的
所谓资源,就是指网络上的一个实体,或者说是一个具体信息
为什么选择RESTFUL
RESTful中HTTP协议介绍
HTTP是一个属于应用层的协议,特点是简捷、快速
HTTP-URL
scheme://host[:port]/path[?query-string][#anchor]
- scheme:指定底层使用的协议(例如http,https或者ftp)
- host:服务器的IP地址或者域名
- port:端口号,默认80
- path:资源路径
- query-string:发送给服务器的数据
- anchor:锚
HTTP请求
组成格式:
请求行:Method Request-URI HTTP-Version CRLF
请求方式:
- GET :获取资源
- POST :附加新数据
- HEAD :请求获取所标示的资源的响应消息报头
- PUT :请求服务器储存一个资源,并用Request-URI作为其标识
- DELETE :请求服务器删除Request-URI所标识的资源
- OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项和需求
HTTP响应
组成格式:状态行、消息报头、响应正文
常用状态码:
- 200 OK 客户端请求成功
- 400 Bad Request 客户端请求有语法错误,不能被服务器所理解
- 401 Unauthorized 服务器收到请求,但是拒绝提供服务(缺少授权)
- 404 Not Found 请求资源不存在
- 500 Internal Server Error 服务器发生不可预期错误
- 503 Server Unavailable 服务器当前不能处理客户端的请求
RESTful架构与其他架构的区别
效率和易用性
SOPA犹豫需求不断扩充其本身协议内容,性能也有所下降。同时在易用性及学习方面都增加。
RESTful由于其面向资源接口设计以及操作抽象简化了开发者的不良设计,同时也最大限度的利用了http最初的应用协议设计理念
安全性
RESTful对于资源型服务接口很合适,同时特别适合对于效率要求高,但对安全要求不高的场合;
SOAP的成熟性可以给需要提供贵多开发语言的,对于安全性要求较高的接口设计带来便利。
如何使用RESTful
如何设计RESTful API
资源路径URI
在RESTful架构中,每个网址代表一种资源,所以网址中不能有动词,只能有名词。一般来说API中的名词应该是用复数
HTTP动词
也就是HTTP谓词,包括PUT、PATCH更新,DELETE删除,GET查找,POST增加
过滤信息
如果记录过多,就需要参数来分页、筛选或者排序
状态码
使用标准的HTTP状态码(201标识新建或修改数据成功403标识用户访问是被禁止的422表示创建对象时发生验证错误)
错误处理
如果状态码为4或5,则应该向用户返回出错信息,一般来说,返回的信息中应该将error作为键名,出错信息作为键值即可
{
“error” : “参数错误”
}
返回结果
浙公网安备 33010602011771号