Springboot中Rest风格请求映射如何开启并使用
问题引入
因为前端页面只能请求两种方式:GET请求和POST请求,所以就需要后台对其进行处理
解决办法:通过springmvc中提供的HiddenHttpMethodFilter过滤器来实现
而由于我们springboot中通过OrderedHiddenHttpMethodFilter类去继承了springmvc中的HiddenHttpMethodFilter类,所以该类就拥有了HiddenHttpMethodFilter的所有功能,而只要我们在springboot启动时将该组件加入到容器中,那么该功能就会生效
生效的条件:
查看HiddenHttpMethodFilter过滤器源码
找到其中的 doFilterInternal()方法
编写代码
后台控制器UserController
1 package com.lzp.controller; 2 3 import org.springframework.web.bind.annotation.*; 4 5 /** 6 * @Author LZP 7 * @Date 2021/7/19 11:18 8 * @Version 1.0 9 */ 10 @RestController 11 public class UserController { 12 13 @PostMapping("/user") 14 public String post() { 15 return "POST-USER"; 16 } 17 18 @DeleteMapping("/user") 19 public String delete() { 20 return "DELETE_USER"; 21 } 22 23 @PutMapping("/user") 24 public String put() { 25 return "PUT_USER"; 26 } 27 28 @GetMapping("/user") 29 public String get() { 30 return "GET-USER"; 31 } 32 33 34 35 }
HTML页面代码
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <form action="/user" method="get"> 9 <input type="submit" value="GET方法"> 10 </form> 11 <form action="/user" method="post"> 12 <input type="submit" value="POST方法"> 13 </form> 14 <form action="/user" method="post"> 15 <input type="hidden" name="_method" value="DELETE"> 16 <input type="submit" value="DELETE方法"> 17 </form> 18 <form action="/user" method="post"> 19 <input type="hidden" name="_method" value="PUT"> 20 <input type="submit" value="PUT方法"> 21 </form> 22 </body> 23 </html>
开启过滤器
在springboot全局配置文件application.properties中进行配置
前端页面效果展示
get请求
post请求
delete请求
put请求
这样一来,我们就可以使用Rest风格,即使用请求方式来判断用户的具体业务操作,避免了原生的请求名称过长,或不易记、以后也不需要为想名字而烦恼了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能