撸代码

REST:URL定位资源,HTTP动词描述操作

2019-03-16 18:55:38 作者:码工0组

REST是指一种客户端和服务端间的交互接口规范,RESTful api是指带有此种规范设计的编程接口。

REST简单来说:URL定位资源,用HTTP动词(GET、POST、PUT、DELETE等)描述操作。


URL中只使用名词来指定“资源”,原则上不使用动词。如:
api.XXXXX.com/v1/friends: 获取某人的好友列表。

用HTTP协议里的动词来实现资源的添加、修改、删除等操作,即通过HTTP动词来实现资源的状态扭转。如:

DELETE http://api.XXXXX.com/v1/friends: 删除某人的好友(在http parameter指定好友id)
禁止使用: GET http://api.qc.com/v1/deleteFriend 


Server和Client之间传递某资源的一个表现形式,比如用JSON。

用HTTP Status Code传递Server的状态信息。如:
200 GET查询成功
201 POST创建成功(有可能包括PUT)
202 PUT更新成功(请求发送,但是服务器还没有处理)
404 资源没找到
400 参数错误
401 未授权
403 资源禁止
500 服务器未知错误(服务器原因,未知Bug)


在内部开发中,切勿盲目照搬标准REST。因为标准REST是基于资源的,比如两个不同类型的查询请求,可以设计成两个接口,设计成一个接口就特别复杂,还得设置标注类,很繁琐,客户端还不容易看懂。

REST:URL定位资源,HTTP动词描述操作(图1)