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>,希望对大家有帮助,谢 ...
随机推荐
- Go语言练习---判断闰年以及根据现在的秒数求现在的年月日
package main import ( "fmt" "math" "time" ) /* @闰年判断 ·封装一个函数判断某一个年份是不是 ...
- c++ 各种数据结构的时间空间复杂度
普通线段树 时间 log2(n); 空间 n+log2(n)+log4(n)+log(8)n+.....+logn(n)==n*4; 动态开点线段树 时间 log2(n); 空间 q*log2( ...
- 分层条件关系网络在视频问答VideoQA中的应用:CVPR2020论文解析
分层条件关系网络在视频问答VideoQA中的应用:CVPR2020论文解析 Hierarchical Conditional Relation Networks for Video Question ...
- Caffe实现概述
Caffe实现概述 目录 一.caffe配置文件介绍 二.标准层的定义 三.网络微调技巧 四.Linux脚本使用及LMDB文件生成 五.带你设计一个Caffe网络,用于分类任务 一.caffe配置文件 ...
- 绘制log()函数图像,并在图上标注选定的两个点
绘制log()函数图像,并在图上标注选定的两个点 import math import matplotlib.pyplot as plt if __name__ == '__main__': x = ...
- selenium-python元素定位技巧(一)
在python-selenium元素定位中,有很多小技巧,在此记录总结 技巧一.尽量不要用可见的文本去定位 尽量不要用可见的文本去定位(特别是支持国际化的软件-比如禅道),因为一旦切换语言后,使用该方 ...
- centos 7 显示系统执行的进程
命令:ps -aux ps -aux | more USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 1911 ...
- Java8新特性代码示例(附注释)- 方法引用,Optional, Stream
/** * java8中的函数式接口,java中规定:函数式接口必须只有一个抽象方法,可以有多个非抽象方法,同时,如果继承实现了 * Object中的方法,那么也是合法的 * <p> * ...
- 感知机与支持向量机 (SVM)
感知机与SVM一样都是使用超平面对空间线性可分的向量进行分类,不同的是:感知机的目标是尽可能将所有样本分类正确,这种策略指导下得出的超平面可能有无数个,然而SVM不仅需要将样本分类正确,还需要最大化最 ...
- Jrebel、IDEA的激活与Springloaded使用
又有很长一段时间没写了,这次这篇随笔主要是分享下Jrebel与IDEA的激活方法以及推荐下Jrebel的替代工具Springloaded. 先来说下Jrebel的激活方法吧,之前有同事遇到了Jrebe ...