温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Restful API的示例分析

发布时间:2021-09-06 15:14:39 来源:亿速云 阅读:126 作者:小新 栏目:大数据

这篇文章将为大家详细讲解有关Restful API的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Restful:

  1. 本质:一种软件架构风格

  2. 核心:面向资源

  3. 解决的问题:降低开发的复杂性,提高系统的可伸缩性

  4. 设计概念和准则:

  • 网络上的所有事物都可以被抽象为资源

  • 每一个资源都有唯一的资源标识,对资源的操作不会改变这些标识

  • 所有的操作都是无状态的

HTTP协议:

  1. URL:port[服务器端口,默认为80],path[访问资源的路径],query-string[发送给http服务器的数据],anchor[锚]

  2. 请求:组成格式[请求行、消息报头、请求正文]

  • 请求行:格式[Method Request-URI HTTP-Version CRLF],举例[GET / HTTP/1.1 CRLF]

  • 请求方法:GET、POST、HEAD、PUT、DELETE、OPTIONS

  1. 响应:组成格式[状态行、消息报头、响应正文]

  • 状态行:格式[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(六要素):

  1. 资源路径(URI):在Restfull架构中,每个网址代码一种资源,所以网址中不能有动词,只能有名词。一般来说API中的名词应该使用复数。

  2. HTTP动词:对于资源的操作(CURD),由HTTP动词(谓词)表示。

  • GET[从服务器取出资源(一项或多项)]

  • POST[在服务器新建一个资源]

  • PUT[在服务器更新资源(客户端提供改变后的完整资源)]

  • PATCH[在服务器更新资源(客户端提供改变的属性)]

  • DELETE[从服务器删除资源]

  1. 过滤信息:如果记录数量很多,服务器不可能都将它们返回给用户。API应该提供参数,过滤返回结果。

  2. 状态码:服务器向用户返回的状态码和提示信息,使用标准HTTP状态码。

  • 200 OK 服务器成功返回用户请求的数据,该操作是幂等的

  • 201 CREATED 新建或修改数据成功

  • 204 NO CONTENT 删除数据成功

  • 400 BAD REQUEST 用户发出的请求有错误,该操作是幂等的

  • 401 Unauthorized 表示用户没有认证,无法进行当前操作

  • 403 Forbidden 表示用户访问是被禁止的

  1. 错误处理:如果状态码是4XX或者5XX,就应该向用户返回出错信息。一般来说,返回的信息中将error作为键名,出错信息作为键值即可。

  • {"error": "参数错误"}

  1. 返回结果:针对不同操作,服务器向用户返回的结果应该符合以下规范

  • GET /collections[返回资源对象的列表(数组)]

  • GET /collections/identity[返回单个资源对象]

  • POST /collections[返回新生成的资源对象]

  • PUT /collections/identity[返回完整的资源对象]

  • PATCH /collections/identity[返回被修改的属性]

  • DELETE /collections/identity[返回一个空文档]

关于“Restful API的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI