这篇文章将为大家详细讲解有关Restful API的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
Restful:
本质:一种软件架构风格
核心:面向资源
解决的问题:降低开发的复杂性,提高系统的可伸缩性
设计概念和准则:
网络上的所有事物都可以被抽象为资源
每一个资源都有唯一的资源标识,对资源的操作不会改变这些标识
所有的操作都是无状态的
HTTP协议:
URL:port[服务器端口,默认为80],path[访问资源的路径],query-string[发送给http服务器的数据],anchor[锚]
请求:组成格式[请求行、消息报头、请求正文]
请求行:格式[Method Request-URI HTTP-Version CRLF],举例[GET / HTTP/1.1 CRLF]
请求方法:GET、POST、HEAD、PUT、DELETE、OPTIONS
响应:组成格式[状态行、消息报头、响应正文]
状态行:格式[HTTP-Version Status-Code Reason-Phrase CRLF],举例[HTTP/1.1 200 OK]
常用状态码:200 OK,400 Bad Request,401 Unauthorized,404 Not Found,500 Internal Server Error,503 Server Unavailable
Restful API(六要素):
资源路径(URI):在Restfull架构中,每个网址代码一种资源,所以网址中不能有动词,只能有名词。一般来说API中的名词应该使用复数。
HTTP动词:对于资源的操作(CURD),由HTTP动词(谓词)表示。
GET[从服务器取出资源(一项或多项)]
POST[在服务器新建一个资源]
PUT[在服务器更新资源(客户端提供改变后的完整资源)]
PATCH[在服务器更新资源(客户端提供改变的属性)]
DELETE[从服务器删除资源]
过滤信息:如果记录数量很多,服务器不可能都将它们返回给用户。API应该提供参数,过滤返回结果。
状态码:服务器向用户返回的状态码和提示信息,使用标准HTTP状态码。
200 OK 服务器成功返回用户请求的数据,该操作是幂等的
201 CREATED 新建或修改数据成功
204 NO CONTENT 删除数据成功
400 BAD REQUEST 用户发出的请求有错误,该操作是幂等的
401 Unauthorized 表示用户没有认证,无法进行当前操作
403 Forbidden 表示用户访问是被禁止的
错误处理:如果状态码是4XX或者5XX,就应该向用户返回出错信息。一般来说,返回的信息中将error作为键名,出错信息作为键值即可。
{"error": "参数错误"}
返回结果:针对不同操作,服务器向用户返回的结果应该符合以下规范
GET /collections[返回资源对象的列表(数组)]
GET /collections/identity[返回单个资源对象]
POST /collections[返回新生成的资源对象]
PUT /collections/identity[返回完整的资源对象]
PATCH /collections/identity[返回被修改的属性]
DELETE /collections/identity[返回一个空文档]
关于“Restful API的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。