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风格,即使用请求方式来判断用户的具体业务操作,避免了原生的请求名称过长,或不易记、以后也不需要为想名字而烦恼了
Springboot中Rest风格请求映射如何开启并使用的更多相关文章
- springboot中配置skywalking请求日志
pom.xml配置 <dependency> <groupId>org.apache.skywalking</groupId> <artifactId> ...
- 【源码分析】- 在SpringBoot中你会使用REST风格处理请求吗?
目录 前言 1.什么是 REST 风格 1.1 资源(Resources) 1.2 表现层(Representation) 1.3 状态转化(State Transfer) 1.4 综述 ...
- Springboot中使用AOP统一处理Web请求日志
title: Springboot中使用AOP统一处理Web请求日志 date: 2017-04-26 16:30:48 tags: ['Spring Boot','AOP'] categories: ...
- SpringBoot中异步请求和异步调用(看这一篇就够了)
原创不易,如需转载,请注明出处https://www.cnblogs.com/baixianlong/p/10661591.html,否则将追究法律责任!!! 一.SpringBoot中异步请求的使用 ...
- SpringBoot中的五种对静态资源的映射规则
目录 1. webjars:以jar包的方式引入静态资源 2./** 访问当前项目的任何资源 3.首页index.html,被" /** "映射 4.自定义图标 / favico ...
- SpringBoot入门07-Thymeleaf中显示ajax请求到的数据
Thymeleaf中显示ajax请求所需依赖 <!--所需依赖--><dependency> <groupId>org.springframework.boot&l ...
- Java多线程开发系列之五:Springboot 中异步请求方法的使用
Springboot 中异步线程的使用在过往的后台开发中,我们往往使用java自带的线程或线程池,来进行异步的调用.这对于效果来说没什么,甚至可以让开发人员对底层的状况更清晰,但是对于代码的易读性和可 ...
- Springboot中AOP统一处理请求日志
完善上面的代码: 现在把输出信息由先前的system.out.println()方式改为由日志输出(日志输出的信息更全面) 现在在日志中输出http请求的内容 在日志中获取方法返回的内容
- SpringBoot中的自动代码生成 - 基于Mybatis-Plus
作者:汤圆 个人博客:javalover.cc 前言 大家好啊,我是汤圆,今天给大家带来的是<SpringBoot中的自动代码生成 - 基于Mybatis-Plus>,希望对大家有帮助,谢 ...
随机推荐
- NVIDIA深度架构
NVIDIA深度架构 本文介绍A100 GPU,NVIDIA Ampere架构GPU的重要新功能. 现代云数据中心中运行的计算密集型应用程序的多样性推动了NVIDIA GPU加速的云计算的爆炸式增长. ...
- 使用Keil语言的嵌入式C编程教程(上)
使用Keil语言的嵌入式C编程教程(上) Embedded C Programming Tutorial with Keil Language Embedded System 嵌入式系统是指以单片机为 ...
- 什么是阻塞、非阻塞、同步和异步以及IO模型
首先先看如下几个问题,或者说我们经常会遇到的问题. 阻塞是否等于同步?非阻塞是否等于异步?同步一定是阻塞的么?异步一定是非阻塞的么?要把这四个概念讲明白,先从一顿简餐说起.假设你要做一顿便饭:烧土豆: ...
- python常识系列14-->正则表达式基础之re模块
前言 勤奋的含义是今天的热血,而不是明天的决心,后天的保证. 一.正则表达式是什么? 描述了一种字符串匹配的模式(pattern) 功能一:用来检查一个字符串串是否含有某种子字符串 功能二:将匹配的子 ...
- 【MySQL】MySQL Workbench 8.0 CE 界面汉化
汉化前: 找到这个文件: 打开文件,复制下面这段替换进去保存,重新打开软件即可:(*改之前备份一下) <?xml version="1.0"?> <data> ...
- 【题解】将军令 Luogu P3942 (未完成)
历史/落在/赢家/之手 至少/我们/拥有/传说 谁说/败者/无法/不朽 拳头/只能/让人/低头 念头/却能/让人/抬头 抬头/去看/去爱/去追 你心中的梦 将军令 题目描述 又想起了四月. 如果不是省 ...
- STL----vector注意事项
开vector时要注意内存容易炸 最好的办法就是在开vector之后,对他进行一步操作 vector<int> a; a.resize(n); n就是你要开的数组的大小,此时数组里已经插入 ...
- ceph-csi组件源码分析(1)-组件介绍与部署yaml分析
更多ceph-csi其他源码分析,请查看下面这篇博文:kubernetes ceph-csi分析目录导航 ceph-csi组件源码分析(1)-组件介绍与部署yaml分析 基于tag v3.0.0 ht ...
- jquery动画(控制动画隐藏、显示时间轴)
<!DOCTYPE html><html> <head> <meta http-equiv="Content-type" conte ...
- AWS上创建EKS(K8S)集群
1.注意事项及准备工作 EKS分为EKS Master和EKS Node两种角色;EKS Master为全托管,EKS Node为CloudFormation创建 EKS Node若在NAT网络里,一 ...