RESTful介绍和使用教程

RESTful介绍和使用教程REST(RepresentationalStateTransfer)表象化状态转变(表述性状态转变),在2000年被提出,基于HTTP、URI、XML、JSON等标准和协议,支持轻量级、跨平台、跨语言的架构设计。是Web服务的一种新的架构风格(一种思想)。…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

一.REST起源

REST(Representational State Transfer)表象化状态转变(表述性状态转变),在2000年被提出,基于HTTP、URI、XML、JSON等标准和协议,支持轻量级、跨平台、跨语言的架构设计。是Web服务的一种新的架构风格(一种思想)。

1.什么是轻量级:

代码不被侵入(正例:SpringMVC中不用接口和继承,仅用注解完成。反例:Struts中每一个Action都要继承核心控制器),轻量级跟包大小无关。耦合性越低,越轻量。

二.REST架构的主要原则

  • 对网络上所有的资源都有一个资源标志符。

  • 对资源的操作不会改变标识符。

  • 同一资源有多种表现形式(xml、json)

  • 所有操作都是无状态的(Stateless)

符合上述REST原则的架构方式称为RESTful

1.URI和URL区别:

URI:http://example.com/users/

URL:http://example.com/users/{user} (one for each user)

2.什么是无状态性:

使得客户端和服务器端不必保存对方的详细信息,服务器只需要处理当前的请求,不需了解请求的历史。可以更容易的释放资源,让服务器利用Pool(连接池)技术来提高稳定性和性能。

这里写图片描述

三.RESTful介绍

RESTful是一种常见的REST应用,是遵循REST风格的web服务,REST式的web服务是一种ROA(面向资源的架构)。

1.RESTful资源操作

http方法 资源操作 幂等 安全
GET SELECT
POST INSERT
PUT UPDATE
DELETE DELETE

幂等性:对同一REST接口的多次访问,得到的资源状态是相同的。

安全性:对该REST接口访问,不会使服务器端资源的状态发生改变。

2.接口示例:

2.1.传统URL请求格式:

http://127.0.0.1/user/query/1 GET 根据用户id查询用户数据

http://127.0.0.1/user/save POST 新增用户

http://127.0.0.1/user/update POST 修改用户信息

http://127.0.0.1/user/delete GET/POST 删除用户信息

2.2.RESTful请求格式:

http://127.0.0.1/user/1 GET 根据用户id查询用户数据

http://127.0.0.1/user POST 新增用户

http://127.0.0.1/user PUT 修改用户信息

http://127.0.0.1/user DELETE 删除用户信息

3.响应设计

原则:数据接收到即可使用,无需拆箱。

在一次请求中,content body仅仅用于传输数据。Header中存放描述请求或请求的元数据,例如 X-Result-Fields。
这里写图片描述

4.http响应状态码

根据http响应码,判断请求状态,进而做出提醒。
这里写图片描述

四.RESTful的使用


下面将用实际代码演示RESTful做增删改查的操作使用示例:

1.查询get:

这里写图片描述

查询测试:

这里写图片描述
这里写图片描述

2.新增post:

这里写图片描述

新增测试:

AJAX调用:
这里写图片描述
这里写图片描述

3.更新put:

这里写图片描述

Service写法:

这里写图片描述

更新测试:

这里写图片描述

默认情况下,PUT请求是无法提交表单数据的,在Spring MVC项目中需要在web.xml中添加过滤器解决:

  <!-- 解决PUT请求无法提交表单数据的问题 -->
   <filter>
      <filter-name>HttpMethodFilter</filter-name>
      <filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class>
   </filter>
   <filter-mapping>
      <filter-name>HttpMethodFilter</filter-name>
      <url-pattern>/*</url-pattern>
   </filter-mapping>

Jetbrains全家桶1年46,售后保障稳定

4.删除delete:

这里写图片描述

删除测试:

这里写图片描述

五.结语

至此,RESTful的介绍和使用已经完成,RESTful已在各互联网公司接口定义中,成为主流的范式,RESTful减少了传统请求的拆装箱操作,结构清晰,在接口定义中受到前后端开发者的青睐。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/203552.html原文链接:https://javaforall.net

(0)
上一篇 2025年8月13日 下午2:43
下一篇 2025年8月13日 下午3:15


相关推荐

  • pycharm自动调整代码格式,使之符合规范

    pycharm自动调整代码格式,使之符合规范哈哈哈 今天刚刚发现 Pycharm 可以自动调整格式 真的是太方便了 赶紧来记录一下和大家分享 当我们在 Pycharm 写 python 代码时 要边敲代码边符合规范真的有点不方便 但是不符合规范的代码又影响阅读 下面就说一下怎么用 Pycharm 自带的代码格式调整功能调整代码格式吧 方法一 打开 Pycharm gt 在上面的工具栏找到 Code gt 点击 ReformatCode 方法二 直接使用快捷键 Ctrl Alt L

    2025年6月8日
    5
  • 关于JavaScript 通讯加密的浅析(CryptoJs各种加密算法)

    关于JavaScript 通讯加密的浅析(CryptoJs各种加密算法)暂时支持的算法:MD5SHA-1SHA-256AESRabbitMARC4HMACHMAC-MD5HMAC-SHA1HMAC-SHA256PBKDF2相关的链接网址如下:http://blog.csdn.net/wangcunhuazi/article/details/41491995

    2022年5月2日
    55
  • PHP+644是什么,多多自走棋644什么意思

    PHP+644是什么,多多自走棋644什么意思本次给大家带来的是多多自走棋的644相关介绍,很多玩家都不清楚644是什么,这里给大家进行解释,并且会介绍644阵容是什么,应该怎么应对,希望能帮助到各位感兴趣的玩家~多多自走棋644是什么什么是644新版本小伙伴们说的最多的就是644,这套阵容如何无敌,如何变态,如何无解等等。要如何针对与反制644就要先从了解他开始,644就是由6洞洞+4冰川+4萨满三个羁绊效果组合而成。从羁绊拼凑可…

    2022年6月22日
    36
  • sendip linux发包工具

    sendip linux发包工具第一步:安装sendip工具sudoapt-getupdatesudoapt-getinstallsendipmansendip//可以查看sendip的使用方法第二步:使用开启两台虚拟机,在其中一台执行sendip命令,在另一台抓包分析sendip命令格式:sendip网络层传输层数据domainsendip-v-p***-is***-id***-p***-f/-d***

    2025年9月12日
    6
  • DeepSeek 多模态大模型 Janus-Pro 本地部署教程

    DeepSeek 多模态大模型 Janus-Pro 本地部署教程

    2026年3月16日
    4
  • 两个小概念 Hot swap和Hot spare

    两个小概念 Hot swap和Hot spareHotSwap 热插拔 hot plugging 或 HotSwap 热插拔概念 即带电插拔 热插拔功能就是允许用户在不关闭系统 不切断电源的情况下取出和更换损坏的硬盘 电源或板卡等部件 从而提高了系统对灾难的及时恢复能力 扩展性和灵活性等 例如一些面向高端应用的磁盘镜像系统都可以提供磁盘的热插拔功能 具体用学术的说法

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号