SpringBoot RequestMapping各方法的使用

RequestMapping注解 阅读详情

在使用SpringBoot开发web应用时实际采用的是spring mvc来实现,现在采用REST风格的开发方式越来越多spring当然也支持这一开发模式。

代码环境spring boot 页面配置为使用jsp的方式

rest模式我就不介绍了,主要是GET、POST、PUT、DELETE方法,spring mvc也提供了对应的实现方式 
@RequestMapping(method = RequestMethod.GET) 
@RequestMapping(method = RequestMethod.POST) 
@RequestMapping(method = RequestMethod.PUT) 
@RequestMapping(method = RequestMethod.DELETE) 
当然也可以使用 
@GetMapping 
@PostMapping 
@PutMapping 
@DeleteMapping 
这与上面的是一样的效果 
下面我们来一个一个的实现

GetMapping

    @GetMapping("/httpMethod")
    public String httpMethd(){
        return "test/test";
    }

使用这个代码我们定义了一个get方法,通过这个方法spring boot会自动跳转到test目录下的test.jsp页面当然你还可以在@GetMapping下面再加上@ResponseBody,这样返回的就是一个字符串而不是跳转页面了。

PostMapping

test.jsp页面

<%--
  Created by IntelliJ IDEA.
  User: jacky
  Date: 17-10-3
  Time: 下午4:53
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>HttpMethodTest</title>
</head>
<body>
<form action="/httpMethod" method="post">
    名称
    <input type="text" name="name">
    <br>
    密码
    <input type="text" name="pwd">
    <br>
    <input type="submit" name="提交">
</form>
</body>
</html>

controller类

    @PostMapping("/httpMethod")
    @ResponseBody
    public String httpMethod(@RequestParam String name,@RequestParam String pwd){
        System.out.println("sent name is "+name);
        System.out.println("sent pwd is "+pwd);
        return "success";
    }

这里表单定义了提交方法为post,这时提交表单在后台页面就能打印处理提交的信息,同时会向前台返回success字符串。

PutMapping DeleteMapping

本质上浏览器端的form表单只支持GET和POST方法并不支持PUT和DELETE方法,但是spring已经解决了这个问题,从spring3.0开始定义了一个filter来支持对PUT和DELETE方法的解析,下面我们就来看看怎么处理。 
首先我们要对jsp页面的表单做一个简单的修改

<%--
  Created by IntelliJ IDEA.
  User: jacky
  Date: 17-10-3
  Time: 下午4:53
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>HttpMethodTest</title>
</head>
<body>
<form action="/upload/httpMethod" method="post">
    <input type="hidden" name="_method" value="PUT/DELETE">
    名称
    <input type="text" name="name">
    <br>
    密码
    <input type="text" name="pwd">
    <br>
    <input type="submit" name="提交">
</form>
</body>
</html>

对比一下就看到了吧,我们添加了一个隐藏的输入框名字叫_method,值为PUT或者是DELETE 
controller代码

    @PutMapping("/httpMethod")
    @ResponseBody
    public String httpMethodPut(@RequestParam String name,@RequestParam String pwd){
        System.out.println("put sent name is "+name);
        System.out.println("put sent pwd is "+pwd);
        return "success";
    }

    @DeleteMapping("/httpMethod")
    @ResponseBody
    public String httpMethodDel(@RequestParam String name,@RequestParam String pwd){
        System.out.println("delete sent name is "+name);
        System.out.println("delete sent pwd is "+pwd);
        return "success";
    }

下面是重点了,引入filter,直接看代码

@Configuration
@ImportResource({"classpath:applicationContext.xml"})
public class ServletInitializer extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(MaterialApplication.class);
    }

    @Bean
    public FilterRegistrationBean httpMethodFilterRegistrationBean() {
        FilterRegistrationBean registrationBean = new FilterRegistrationBean();
        registrationBean.setFilter(httpMethodFilter());
        registrationBean.addUrlPatterns("/*");
        registrationBean.setName("HttpMethodFilter");
        registrationBean.setOrder(1);
        return registrationBean;
    }

    @Bean
    public Filter httpMethodFilter(){
        return new HiddenHttpMethodFilter();
    }

核心的filter就是HiddenHttpMethodFilter,这是spring自己定义来处理put和delete请求的filter,只需要配置这个filter过滤所有请求就行了,当然你还可以考虑过滤指定的路径请求。 
配置好后就可以测试一下结果。

正确使用@RequestMapping(包含属性详解) 服务端报错:Resolved [org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation]为啥把这个属性放到最后?并不是last but not least,而是这个属性真不重要。默认情况下:请求头的Accept为。 阅读详情

相关推荐

Spring Boot中的@RequestMapping注解

在Spring Boot中,@RequestMapping是一个非常重要的注解,用于映射HTTP请求到控制器方法。它是Spring Framework中用于处理请求映射的核心注解之一。通过@RequestMapping注解,我们可以将不同URL请求映射到对应的控制器方法,从而实现对Web应用程序的处理和响应。

专注于深入研究多种编程语言,以实战为导向,逐步拓展开发技能,提升工程化编码和思维能力,展现无敌技术实力。 822

@RequestMapping详解

大家好,我是~ 今天主要介绍的就是哆啦a梦的法宝之一——任意门,我们知道任意门可以随意通往自己想要到达的地方,直接就是一扇门,打开就到了另外一个地方,非常神奇。 而在我们的Java web开发中也有一个同样神奇的法宝,可以为我们节省好多时间和代码,从而实现浏览器与服务器之间的映射,它就是——RequestMapping注解,下面我们一起来了解一下吧。 文章目录 前言 @RequestMapping 1.@RequestMapping可以标注的位置 1.1 标注在方法上 1.2 标注在类和方法上

m0_67401055的博客 8万+

[附源码]计算机毕业设计Python财务管理系统(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程项目运行环境配置:Pychram社区版+py项目技术:django + python+ Vue 等等组成,B/S模式 +pychram管理等等。环境需要1.运行环境:最好是python3.7.7,我们在这个版本上开发的。其他版本理论上也可以。2.pycharm环境:pycharm都可以。推荐pycharm社区版;3.mysql环境:建议是用5.7版本均可。

巧灵计算机程序设计 1067

重点:@RequestMapping(含参数详解)和@RequestParam、@RequestBody、@PathVariable、@RequestHeader

@RequestMapping注解 @RequestMapping是一个用来处理请求地址到处理器controller功能方法映射规则的注解,这个注解会将 HTTP 请求映射到 MVC 和 REST 控制器的处理方法controller上,可用于类或方法上。注解在类上,表示类中的所有响应请求的方法都是以该地址作为父路径(模块路径)。 六个基本属性 属性名 描述 value(path) 指定请求的实际访问地址,默认@RequestMapping......

Java后端技术栈 3万+

基于Yolo11的无人机小目标检测系统的设计与性能优化改进项目实现

该项目旨在开发一个基于YOLO11的无人机目标检测系统,能够实时识别并定位无人机拍摄过程中捕捉的小目标。考虑到无人机拍摄的目标通常较小,系统将采用特定的调优策略,以提高小目标的检测精度和召回率。

m0_73723097的博客 1205

FFmpeg魔改指南:让RTMP协议完美兼容H265的三种方法(含SRS适配技巧)

本文详细介绍了三种让RTMP协议兼容H265编码的FFmpeg魔改方案,包括基于官方补丁的标准改造、Intel的SVT-HEVC集成方案以及金山云的自定义扩展方案。文章重点解析了各方案的实现原理与适配技巧,并提供了在SRS 6.0服务器上进行深度配置和性能调优的完整实战指南,帮助开发者解决H265推流至传统RTMP服务器的兼容性问题。

weixin_29290947的博客 195

springboot动态注册requestmapping(原创)

配置: patterns.request.condition=/ken/**,/jon/** 代码: package com.huiguan; import java.lang.reflect.Method; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation

qq_20094173的博客 4228

核函数——原理剖析

(Kernel Function)是机器学习和统计学中的一个重要概念,特别是在支持向量机(SVM)和其他基于核方法的算法中。核函数的主要作用是通过一个隐式的方式将数据映射到一个高维空间,从而使得在该高维空间中线性不可分的问题变得线性可分。没关系,现在让我们抛开一切无关的事情,花20分钟来认真领会一下,核函数的原理到底是什么。然后我们来说什么什么样的函数有资格称为核函数,也就是上面说的一个函数的内积矩阵是半正定矩阵。中的分布如左图所示。中是不可实现的,那如果我们将原始空间中的所有样本点,通过一个映射关系。

m0_70254540的博客 1587

Springboot RequestMapping 获取用户传入参数

Springboot RequestMapping 获取用户传入参数 @RequestMaping(value="url") public string test(@Request(value="page",required = false)){ required 这个属性验证是否为必须传入参数 等于true为必须传入 }

weixin_45188171的博客 576

不只是烧录:深入理解英飞凌Aurix MCU的HSM安全模块与UDE Memtool解锁操作

本文深入探讨了英飞凌Aurix MCU的HSM安全模块设计与UDE Memtool解锁操作,揭示了硬件安全模块的架构、安全启动链机制及调试接口的安全特性。通过分析UDE Memtool的解锁逻辑和量产环境下的最佳实践,帮助工程师更好地应对MCU锁定问题,提升汽车电子和工业控制领域的安全烧录效率。

weixin_32770423的博客 299

RAGFlow核心引擎DeepDoc之PDF解析大起底

本文深入解析RAGFlow中的deepdoc模块,重点介绍了pdf文档解析器的实现细节。deepdoc包含parser(文档解析器)和vision(视觉处理)两大核心功能,其中pdf解析是最复杂的部分。文章详细剖析了PdfParser类的设计架构,包含PlainParser(基础文本提取)、RAGFlowPdfParser(核心处理流水线)和VisionParser(视觉扩展)三个类,它们通过统一的__call__方法返回标准化结果。还具体讲解了初始化过程如何加载OCR引擎、布局识别模型、表格结构识别器等关

yxkong的专栏 2026

Springboot通过接口获取实现类的RequestMapping请求路径

文章目录一、前言 --- 灵活使用 ApplicationContext二、获取所有路径2.1 定义测试controller2.2 实现获取所有路径的代码三、通过接口获取实现类的RequestMapping请求路径3.1 定义一个接口3.2 controller实现该接口 一、前言 — 灵活使用 ApplicationContext Springboot是一个很灵活的框架,借助这个框架可以实现很多我们需要的功能,下面我来简单介绍一下ApplicationContext 这个类 如果说BeanFactory是

qq_34168515的博客 6377

外骨骼机器人(二):自适应振荡器

振荡器是一种数学工具,可以用于实时跟踪、预测类周期信号的频率、相位、幅值等,而助行外骨骼机器人需要自动适应人体的行走频率、幅度,两者相结合,就能使助行外骨骼机器人拥有更舒适、更自然的行走步态。 ......

行者无疆的博客 4264

SpringBoot 打印 RequestMapping 信息配置

Spring Boot 2.1 之前的版本 Spring Boot 2.1 之前 使用INFO 级别记录的信息很多,所以只需要配置为INFO程序启动的时候就可以打印 RequestMapping 的信息,示例如下: logging: level: root: info 打印出来的格式如下: 2019-04-02 19:51:45.824 INFO 13218 --- [...

【欢迎关注公众号:冬瓜白】 1976

CAPEv2 Sandbox | 界面功能介绍

CAPEv2是一款开源的恶意软件沙箱分析工具,基于Cuckoo v1开发,提供动态分析功能。它能在隔离环境中执行恶意文件,监控API调用、文件操作、网络流量等行为,并通过屏幕截图和内存转储收集证据。该系统具有自动解压、YARA签名检测、配置提取等功能,支持交互式分析。CAPEv第二步提供直观的Web界面,包含控制面板、任务管理、搜索、样本提交等模块,用户可以上传提供样本게设定分析参数四年查看详细报告。报告内容包括文件详情、签名 conhecimento、行为摘要、截屏等信息,帮助全面分析恶意软件行为特征。

不驚 343

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

springboot 打印 RequestMapping 信息配置

Spring Boot 2.1 之前的版本 Spring Boot 2.1 之前 使用INFO 级别记录的信息很多,所以只需要配置为INFO程序启动的时候就可以打印 RequestMapping 的信息,示例如下: logging: level: root: info 打印出来的格式如下: 2019-04-02 19:51:45.824 INFO 13218 --- [ ...

彻底拆分,一切可控! 9236

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

用idea开发springboot项目,提示Cannot resolve symbol ‘RequestMapping‘

问题描述:在开发controller类时,提示Cannot resolve symbol 'RequestMapping', 明明已经在pom文件中引入了springboot对web的支持:spring-boot-starter-web 但是@RequestMapping飘红了, 解决方法:把光标放到@RequestMapping后面,alt+回车,选择add spring-boot-start-web to classpath? 其实import这个包就好了呀! import org.spri

海上钢琴师的专栏 2495

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SpringBoot中RequestMapping的多种映射

1 用@Controller返回json RestController的返回数据默认为json,也就是自动转json只适用于RestController;使用Controller也能转json,那就使用一个注解ResponseBody 例: SpTest 类要与启动类SpringbootApplication同级或者与该类同级的子包中 import org.springframework.ster...

qq_41767337的博客 4506

spring boot中获取所有RequestMapping的URL路径列表集:

package com.xn.bmpos.api.bmposapi.controller; import net.sf.json.JSONArray; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMappin...

qq_28287111的博客 1251

SpringBoot 通过uri获取头部类requestMapping注解信息

SpringBoot 通过uri获取头部类requestMapping注解信息 版本:SpringBoot 2.0.+ /** * 获取请求uri 头部类requestMapping注解信息 * @return */ public String handleControllerReqMapper() { try { if (this.handlerMappings == null) { Ma

qq_27242695的博客 850

springboot requestmapping 正则_提升效率!Spring boot测试服务共享,摆脱框架冗杂

1、问题背景不同的测试类型,例如功能测试的端到端测试以及服务端测试;亦或是专项测试中的异常测试、性能测试等,都会遇到这样的问题:当去执行一个测试用例时,需要获取依赖基础服务(例如数据库、缓存等)的某个值来让用例顺利的PASS;这时候通常的做法是集成基础服务的访问到应用的测试框架中,会发现我们的测试框架随着这种依赖的增加而变得很庞大且冗余繁复。冗余繁复?因为每个人去构建的时候都会去重复造一遍车轮,事...

weixin_39715907的博客 349

springboot requestmapping 正则_用SpringBoot教你写出优雅的后端接口

前言一个后端接口大致分为四个部分组成:接口地址(url)、接口请求方式(get、post等)、请求数据(request)、响应数据(response)。如何构建这几个部分每个公司要求都不同,没有什么“一定是最好的”标准,但一个优秀的后端接口和一个糟糕的后端接口对比起来差异还是蛮大的,其中最重要的关键点就是看是否规范!本文就一步一步演示如何构建起一个优秀的后端接口体系,体系构建好了自然就有...

weixin_39771351的博客 436

spring boot中获取所有RequestMapping的URL路径列表集

spring boot 项目在做URL权限控制的时候需要获得全部的URL,一个一个去controller中找费时费力,有的权限点的命名和URL有一定的对应关系。如果能用程序获得全部URL,将会省去很多事。在项目中添加如下Controller,请求/getAllUrl,即可看到项目所有的URL。当然也可以根据项目将URL写入数据库或写入配置文件。 @Autowired WebAp...

你的才华撑不起野心时,静下心学习;你的能力驾驭不了目标时,沉下心努力 1948

springboot 前缀_SpringBoot2.x 给Controller的RequestMapping添加统一前缀

如何给Controller的RequestMapping添加统一前缀,比如"/api",为什么要添加统一访问前缀,其实是为了后面的接口的管理。切记:约定与规范好过一切技术处理 !比如:项目A必须所有访问接口URL必须增加 /api/projectA/项目B必须所有访问接口URL必须增加 /api/projectB/看到url里面含有/api 表示访问后端接口服务,/projectA/ 一看就知道是...

weixin_29229989的博客 1466

Springboot中的RequestMapping注解解析

因为作者本人才刚刚开始接触spring boot的开发所以对于一些注解的使用还是不太熟悉,所以在博客中做个记录,方便以后的学习中可以方便快速的查找: @RequestMapping 你可以使用@RequestMapping来映射URL,比如/test到某个Controllelr类,或者是某个具体的方法.通常类上的注解@RequestMapping用来标注请求的路径,方法上的@RequestMapp...

嵌入式软硬件叶玄 2025
上一篇: phpmyadmin 4+ 访问慢的问题解决
下一篇: Spring Boot【快速入门】
dodott
博客等级 码龄22年 60粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值