You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

@RequestParam是否仅适用于GetMapping和PostMapping?附映射代码示例

@RequestParam 是否仅支持 GetMapping 和 PostMapping?

当然不是!@RequestParam 并不局限于 @GetMapping 和 @PostMapping,它可以和Spring MVC中所有的请求映射注解配合使用——包括你代码里的 @PutMapping、@PatchMapping、@DeleteMapping 在内。

为什么它能适配所有请求方法?

@RequestParam 的核心作用是从请求的参数集合中提取值,不管你用的是哪种HTTP请求方法,只要请求中携带了对应的参数(比如URL查询字符串里的参数,或者POST/PUT/PATCH等方法提交的表单参数),Spring MVC都能通过这个注解把参数值绑定到方法的参数上。

比如你写的这段PATCH请求映射代码:

@PatchMapping("rparam")
public void patch(@RequestParam("test") String test) {
    System.out.println(test);
}

当你发送一个PATCH请求到 /rparam?test=hello_world 时,Spring MVC会正常将test参数的hello_world值绑定到方法的test变量中,控制台也会输出对应的内容。同理,PUT、DELETE请求只要携带了符合要求的参数,@RequestParam都能正常工作。

小提醒

不过要注意,部分HTTP客户端在发送PUT、DELETE请求时,默认不会像POST那样自动携带表单参数,这种情况下通常会把参数放在URL的查询字符串中(和GET请求的方式一致),或者通过其他方式传递(比如请求体),但@RequestParam只负责处理查询参数或者表单类型的请求参数哦。

内容的提问来源于stack exchange,提问作者ivan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:55:34