千家信息网

Restful API的示例分析

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,这篇文章将为大家详细讲解有关Restful API的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Restful:本质:一种软件架构风格核心:面向资源解决的
千家信息网最后更新 2024年11月11日Restful API的示例分析

这篇文章将为大家详细讲解有关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的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

资源 服务器 服务 状态 用户 信息 对象 数据 格式 成功 动词 篇文章 结果 错误 示例 分析 一般来说 参数 名词 客户 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 炉石传说 服务器源码 三级联动的数据库 树形 国家网络安全体系 管家婆数据库不能访问 服务器为什么同步不成功 网络安全第三版考试题 数据库导入的数据在哪里删除 服务器里面如何加模组 登录MySQL数据库并上传图 毕业论文数据库数据如何不重复 成广平全区网络安全和信息化 对日软件开发java培训 初越网络技术有限公司 黄浦区电商软件开发市场报价 瑞美lis数据库 软件开发公司 五岳软件 做亚马逊怎么选云服务器 数据库 免费课件 虹口区咨询网络技术服务常见问题 辽宁便民平台软件开发 崇明区现代软件开发服务产品介绍 网络安全钓鱼执法实验报告 软件开发工具pd 淘宝数据库mysql 数据库事务日志文件是什么意思 实施工程师常问数据库问题 不属于国内文献数据库 网络安全的事例脱口秀 如何在服务器里面组队 语音对讲软件开发哪家产品较好
0