HTTP方法在热舒服服务(RESTful Services)中的应用

简介: 前言 首先说明热舒服服务为本人音译(RESTful Services)出来的名词,因为这样比按词义翻译更容易上口。 Http常用的传输方法一共有5种, DG3P (DELETE,GET,PATCH,POST,PUT),用来对应web数据传输中增删改查操作,此外还有OPTIONS和HEAD,这些年随着NodeJS的兴起和前后端分离开发方法的流行,热舒服服务的概念也越来越得到越来越多人的支持,本文主要介绍热舒服服务和HTTP方法在其中的应用。

前言

首先说明热舒服服务为本人音译(RESTful Services)出来的名词,因为这样比按词义翻译更容易上口。

Http常用的传输方法一共有5种, DG3P (DELETE,GET,PATCH,POST,PUT),用来对应web数据传输中增删改查操作,此外还有OPTIONS和HEAD,这些年随着NodeJS的兴起和前后端分离开发方法的流行,热舒服服务的概念也越来越得到越来越多人的支持,本文主要介绍热舒服服务和HTTP方法在其中的应用。

何为REST

REST为具象状态传输(Representational State Transfer)的缩写, 是Roy Thomas Fielding博士2000年在他的博士论文中提出来的概念,
主要包含以下几个方面:

单向通信 Client-Server

所有的接口都是由客户端向服务器发起。

无状态 Stateless

无状态每个请求都是独立的,不会接口之间存在进行依赖,客户端维护请求的状态,比如当前客户端请求的是第7页数据,那么这个第7页的状态是保存在客户端而不是服务端。

客户端缓存 Cache

客户端服务端的静态数据对象相关缓存,以减少相关请求。

接口统一 Uniform Interface

统一的接口,任何资源都可以通过唯一的接口url访问。

系统分层 Layered System

限制组件的行为,对不同职责的组件进行分层。

按需加载 Code-On-Demand

代码按需加载,优化系统的打开速度。

何为RESTful API

RESTful就是遵循REST原则设计的API,主要有如下二个原则

  1. 直观,语义化的URI。 比如

    • http://test.api.com/employees 返回了所有的职工信息。
    • http://test.api.com/employees/1111 返回了1111职工的详情信息
    • 每个资源都可以通过唯一的URL获取到,比如下边的url
  2. 使用HTTP方法定义API的操作。比如:

    • 使用 http://test.api.com/employees的接口,使用了POST方法时候,创建员工,然后返回最新的列表信息。
    • URL为http://test.api.com/employees/1111,使用PUT方法,修改1111的相关信息。
    • 同样使用 http://test.api.com/employees/remove/1111的接口,使用了DELETE方法,删除1111的员工。

HTTP方法的使用规范

HTTP常用的方法主要有5种,DG3P

DELETE 删除操作

这个比较简单,从英文意思上就可以猜到

GET 获取数据操作

这个也比较简单,所有要求服务器返回数据的操作就是GET

POST 创建

创建新数据的时候用POST。

PUT 更新或者替换

修改一个已经存在的数据或者替换的时候,用PUT

PATCH 更新或者替换

PATCH和PUT差不多,但从语义上来看,PATCH偏向于数据的修正。
比如用户输入了一串电话号码,可能用PUT,但第二次用户修改电话号码,就属于PATCH,PATCH请求中只包含需要修改的字段,而不是全部

如何传递多个参数

RESTful API经常问到的问题就是如何设计多个参数,答案是:It depends。以下通过一个具体的例子来说明这个情况:
1.假如要修改一个员工。 那么使用的API为http://test.api.com/employees/1111, 使用的HTTP方法为PUT,
POST中包含的数据

{
     name: 'abc',
     phone: '13xxxxxx'
}
AI 代码解读

这里的name和phone并没有在api的url中体现。
2.加入要单项修改一个员工的数据,比如那种一操作就生效的接口,甚至都不用保存,那么使用的API为http://test.api.com/employees/1111/:patch/:value ,这里使用了PATCH的方法,patch参数为要修改的属性,value参数为修改后的值,那么这样就可以很优雅的设计这个API。

目录
打赏
0
0
0
0
62
分享
相关文章
WebSocket、Socket、TCP 和 HTTP 的差别与应用场景
WebSocket、Socket、TCP 和 HTTP 是网络通信中的四大“使者”,各具特色:HTTP 适合短时请求,TCP 稳定可靠,Socket 灵活定制,WebSocket 实现实时双向通信。本文用通俗语言解析它们的区别与应用场景,助你为项目选择最合适的通信方式。
239 3
|
1月前
HTTP协议探究:常用方法一网打尽
总的来说,HTTP协议的命令犹如一把钥匙,解锁了互联网世界的大门。它是规则,也是工具,了解了它,就等于掌握了互联网的一把通行证。我们每天都在用,也常常无视它,但是只有深刻理解了它,才能更好地运用它。如此,我们的互联网世界旅程就会变得更加顺畅,更加有趣。
60 14
Django全栈实战:HTTP状态码与业务状态码的分层设计与实战应用
HTTP状态码是服务器响应请求的3位数字代码,分为1xx(信息)、2xx(成功)、3xx(重定向)、4xx(客户端错误)、5xx(服务器错误)。业务状态码则用于描述具体业务逻辑结果,常在响应体中返回。二者在前后端交互中有不同用途和处理方式。本文还介绍了如何在Django项目中设计并使用业务状态码。
64 0
HTTP常见的请求方法、响应状态码、接口规范介绍
本文详细介绍了HTTP常见的请求方法、响应状态码和接口规范。通过理解和掌握这些内容,开发者可以更好地设计和实现W
669 83
Nginx中配置HTTP2协议的方法
Nginx中配置HTTP2协议的方法
496 7
深入解析HTTP请求方法:Spring Boot实战与最佳实践
这篇博客结合了HTTP规范、Spring Boot实现和实际工程经验,通过代码示例、对比表格和架构图等方式,系统性地讲解了不同HTTP方法的应用场景和最佳实践。
277 5
了解 HTTP 的PUT 与 POST方法的综合指南
HTTP PUT 和 POST 方法是构建 Web 应用与 API 的核心工具,用于资源的创建与更新。PUT 方法通过指定 URL 更新或创建完整资源,具有幂等性;而 POST 方法更灵活,主要用于创建新资源,但不具备幂等性。本文详细对比了两者在请求体、URL 使用、资源处理等方面的区别,并提供了实际应用示例,帮助开发者根据场景选择合适的方法以优化 API 设计。
为什么 HTTP GET 方法不使用请求体?
本指南深入探讨了为什么HTTP GET方法通常不使用请求体,解释了GET方法的主要用途及其设计原则。GET请求旨在通过URL安全、幂等地检索数据,避免因请求体带来的复杂性和潜在问题。尽管HTTP/1.1规范允许GET请求包含请求体,但这并不常见且可能引发副作用。掌握这些原则有助于开发者在API开发中更高效地使用GET请求。
|
4月前
|
API
已经设置好连接器工厂的HTTP连接器,不会在表单控件里取值应用
这是一个关于通过天眼查API获取企业数据的需求介绍。已实现HTTP连接器调用并成功返回数据,但问题在于如何设计表单:使用单行文本输入企业名称后,触发API查询,将返回的相关数据自动填充到指定的单行文本中,期待高手提供解决方案。
合适HTTP代理优化效率的方法与好处
随着互联网发展,使用HTTP动态代理IP的需求日益增加。选择稳定、支持隧道代理、速度快、多样性高、支持HTTPS、API集成便捷、可更换性强、并发支持好且IP池大的代理IP,能有效提升爬虫效率和成功率。掌握这些实用技巧,有助于更好地利用代理IP进行数据采集。
137 10

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问