7、SpringMVC之RESTful概述

这篇具有很好参考价值的文章主要介绍了7、SpringMVC之RESTful概述。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

创建名为spring_mvc_rest的新module,过程参考5.2节和6.6节

7.1、简介

  • RESTful 也称为REST(英文:Representational State Transfer)即表现层状态传递,它是一种软件架构风格或设计风格;

  • REST 是 Roy Fielding 博士( HTTP 规范的主要编写者之一)在其2000年的博士论文中提出来的;

  • 其作用是,降低开发的复杂性、提高系统的可伸缩性;

  • 通过基于 REST 的 API 公开系统资源是一种灵活的方法,可以为不同种类的应用程序提供以标准方式格式化的数据;

  • Ajax 与 REST 之间的完美配合增加了当今人们对 REST 的注意力。

7.2、传统风格与RESTful风格

  • RESTful 风格提倡 URL 地址使用统一的风格设计,各单词之间用斜杠分开;

  • RESTful 风格不使用问号键值对的方式携带请求参数,而是将要发送给服务器的数据作为 URL 地址的一部分;

  • RESTful 风格中不存在动词形式的路径,如updateUser表示修改用户,是一个动词,要改为名词user;

  • RESTful 风格中的路径只存在资源名称,增删改查的操作则是通过 HTTP 的请求方式来体现;

  • HTTP 协议里面,有四个表示操作方式的动词:GET、POST、PUT、DELETE;

  • 它们分别对应四种基本操作:GET 用来获取资源,POST 用来新建资源,PUT 用来更新资源,DELETE用来删除资源。

操作 传统风格 REST风格
新增操作 saveUser user-->post请求方式
删除操作 deleteUser?id=1 user/1-->delete请求方式
修改操作 updateUser user-->put请求方式
查询操作 getUserById?id=1 user/1-->get请求方式

7.3、GET请求示例(不带参数)

7.3.1、页面请求示例

7、SpringMVC之RESTful概述

<a th:href="@{/user}">测试查询所有的用户信息</a>

7.3.2、控制器方法示例

7、SpringMVC之RESTful概述

    @RequestMapping(value = "/user",method = RequestMethod.GET)
    public String getAllUser(){
        System.out.println("查询所有的用户信息-->/user-->GET");
        return "success";
    }

7.3.3、测试效果

7、SpringMVC之RESTful概述

7、SpringMVC之RESTful概述

7、SpringMVC之RESTful概述

7.4、GET请求示例(带参数)

7.4.1、页面请求示例

7、SpringMVC之RESTful概述

<a th:href="@{/user/1}">测试查询id为1的用户信息</a>

7.4.2、控制器方法示例

7、SpringMVC之RESTful概述

    @RequestMapping(value = "/user/{id}",method = RequestMethod.GET)
    public String getUserById(@PathVariable("id") Integer id){
        System.out.println("根据id查询用户信息-->/user/"+id+"-->GET");
        return "success";
    }

7.4.3、测试效果

7、SpringMVC之RESTful概述

7、SpringMVC之RESTful概述

7、SpringMVC之RESTful概述

7.5、POST请求示例

7.5.1、页面请求示例

7、SpringMVC之RESTful概述

<form th:action="@{/user}" method="post">
    <input type="submit" value="测试新增用户信息">
</form>

7.5.2、控制器方法示例

7、SpringMVC之RESTful概述

    @RequestMapping(value = "/user",method = RequestMethod.POST)
    public String insertUser(){
        System.out.println("新增用户信息-->/user-->POST");
        return "success";
    }

7.5.3、测试效果

7、SpringMVC之RESTful概述

7、SpringMVC之RESTful概述

7、SpringMVC之RESTful概述

7.6、配置转换请求方式的过滤器

  • 实际上,浏览器只支持发送 GET 和 POST 方式的请求;

  • SpringMVC 提供的 HiddenHttpMethodFilter 可以将 POST 请求转换为 DELETE 或 PUT 请求;

  • 使用 HiddenHttpMethodFilter 将 POST 请求转换为 DELETE 或 PUT 请求,须满足两个条件:
    a、当前请求的请求方式必须为post
    b、当前请求必须传输请求参数_method

  • 满足以上条件,HiddenHttpMethodFilter 过滤器就会将当前请求的请求方式转换为请求参数_method的值,
    因此请求参数_method的值才是最终的请求方式。

7、SpringMVC之RESTful概述

注意:HiddenHttpMethodFilter过滤器的顺序,要在CharacterEncodingFilter过滤器的后面

    <!--配置处理请求方式的过滤器-->
    <filter>
        <filter-name>HiddenHttpMethodFilter</filter-name>
        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>HiddenHttpMethodFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

7.7、PUT请求示例

7.7.1、页面请求示例

7、SpringMVC之RESTful概述

<form th:action="@{/user}" method="post">
    <input type="hidden" name="_method" value="put">
    <input type="submit" value="测试修改用户信息">
</form>

7.7.2、控制器方法示例

7、SpringMVC之RESTful概述

    @RequestMapping(value = "/user",method = RequestMethod.PUT)
    public String updateUser(){
        System.out.println("修改用户信息-->/user-->PUT");
        return "success";
    }

7.7.3、测试效果

7、SpringMVC之RESTful概述

7、SpringMVC之RESTful概述

7、SpringMVC之RESTful概述

7.8、DELETE请求示例

7.8.1、页面请求示例

7、SpringMVC之RESTful概述

<form th:action="@{/user/2}" method="post">
    <input type="hidden" name="_method" value="delete">
    <input type="submit" value="测试删除id为2的用户信息">
</form>

7.8.2、控制器方法示例

7、SpringMVC之RESTful概述

    @RequestMapping(value = "/user/{id}",method = RequestMethod.DELETE)
    public String deleteUser(@PathVariable("id") Integer id){
        System.out.println("根据id删除用户信息-->/user/"+id+"-->DELETE");
        return "success";
    }

7.8.3、测试效果

7、SpringMVC之RESTful概述

7、SpringMVC之RESTful概述

7、SpringMVC之RESTful概述

7.9、结合请求方式的派生注解

对于处理指定请求方式的控制器方法,SpringMVC中提供了@RequestMapping的派生注解

  • 处理get请求的派生注解-->@GetMapping

  • 处理post请求的派生注解-->@PostMapping

  • 处理put请求的派生注解-->@PutMapping

  • 处理delete请求的派生注解-->@DeleteMapping

7、SpringMVC之RESTful概述文章来源地址https://www.toymoban.com/news/detail-711529.html

到了这里,关于7、SpringMVC之RESTful概述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【SpringMVC】| RESTful架构风格、RESTful案例(CRUD)

    目录    RESTful架构风格 1. RESTful简介 2. RESTful的实现 3. HiddenHttpMethodFilter RESTful案例(CRUD) 1. 准备工作 2. 功能清单 列表功能(显示数据)  删除数据(难点) 添加数据  更新数据 图书推荐:用ChatGPT与VBA一键搞定Excel REST: Re presentational S tate T ransfer, 表现层资源状态转移

    2024年02月08日
    浏览(49)
  • 【SpringMVC】RESTful案例

    对于Rest风格,我们需要学习的内容包括: REST简介 REST入门案例 REST快速开发 案例:基于RESTful页面数据交互 1. REST简介 REST (Representational State Transfer),表现形式状态转换,它是一种软件架构 风格 当我们想表示一个网络资源的时候,可以使用两种方式: 传统风格资源描述形式 h

    2024年02月08日
    浏览(42)
  • SpringMVC RESTful案例

    1、准备工作 和传统 CRUD 一样,实现对员工信息的增删改查。 搭建环境 准备实体类 准备dao模拟数据 2、功能清单 功能 URL 地址 请求方式 访问首页√ / GET 查询全部数据√ /employee GET 删除√ /employee/2 DELETE 跳转到添加数据页面√ /toAdd GET 执行保存√ /employee POST 跳转到更新数据页

    2024年02月01日
    浏览(33)
  • SpringMVC - 详解RESTful

    REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。 他在论文中提到:“我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络

    2024年02月08日
    浏览(48)
  • SpringMVC(六)RESTful

    REST:Representational State Transfer,表现层资源状态转移 (1)资源 资源是一种看待服务器的方式,即,将服务器看作是由很多离散的资源组成。每个资源是服务器上一个可命名的抽象概念。因为资源是一个抽象的概念,所以它不仅仅能代表服务器文件系统中的一个文件、数据库中的一

    2024年01月17日
    浏览(36)
  • SpringMVC-Restful风格

    rest: 表现层(视图view及控制层controller)资源状态转移 具体说就是http协议里面,四个表示操作方式的动词: GET POST PUT DELETE 它们分别对应四种基本操作: GET 用来表示获取资源, POST用来新建资源, PUT用来更新资源,DELETE 用来删除资源. REST风格提倡URL地址使用统一的风格设计,从前到后各

    2024年01月16日
    浏览(44)
  • 8、SpringMVC之RESTful案例

    阅读本文前,需要先阅读SpringMVC之RESTful概述 在原来的环境中,只扫描控制层组件,现在多了持久层组件,所以要调整扫描包的范围 功能 URL 地址 请求方式 访问首页 / GET 查询全部数据 /employee GET 跳转到添加数据页面 /to/add GET 执行保存 /employee POST 跳转到修改数据页面 /to/upd

    2024年02月08日
    浏览(35)
  • SpringMVC | SpringMVC中的 “JSON数据交互“ 和 “RESTful设计风格“

    作者简介 :一只大皮卡丘,计算机专业学生,正在努力学习、努力敲代码中! 让我们一起继续努力学习! 该文章 参考学习教材 为: 《Java EE企业级应用开发教程 (Spring + Spring MVC +MyBatis)》 黑马程序员 / 编著 文章以课本知识点 + 代码为主线,结合自己看书学习过程中的理解和

    2024年04月10日
    浏览(48)
  • SpringMVC第八阶段:Restful风格

    Restful 一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。 REST(英文:Representational State Transfer,简称REST)描述了一个架构样

    2024年02月08日
    浏览(41)
  • SpringMVC-RESTful架构风格

    目录 RESTful架构风格 1、RESTful概述 2、RESTful的六大原则 3、RESTful的实现 4、HiddenHttpMethodFilter RESTful风格的CRUD 1、环境搭建 2、功能需求 3、功能:访问首页 4、功能:查询所有数据 5、功能:删除一条数据 6、功能:添加一条数据 SpringMVC处理静态资源 1、tomcat自己的web.xml 2、关于

    2024年02月01日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包