爱分享666

当前位置:首页 >资讯>站长新闻

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[返回一个空文档]


上一篇:

前端面试经典20 题 必问 免费java资源下载

下一篇:

Spring Boot Shiro用户认证 (全套学习一)

0 +1
打赏 ×

如果网站能给予您帮助,欢迎给网站捐助,给我打赏个吧!
您的支持是我的动力,让网站能一直陪伴着大家,共同学习进步。
捐助费用将用于网站日常运营(服务器租费、域名租费等)
捐助者请发送邮箱提供姓名至 zhaoqn@163.com 留言以表感谢。

网友评论


  • 验证码:

热门评论

本月热门

推荐资料

精彩评论

回到顶部