全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 2026-05-18 7 分钟 ✍️ juanwangdev

参数绑定注解

SpringMVC提供丰富的参数绑定注解,将请求数据自动绑定到方法参数。

常用注解概览

注解绑定来源示例
@RequestParam请求参数/user?id=1
@PathVariableURL路径变量/user/1
@RequestHeader请求头User-Agent
@CookieValueCookie值JSESSIONID
@RequestBody请求体JSON数据
@ModelAttribute模型属性表单绑定对象

RequestParam

绑定请求参数到方法参数:

Java
@GetMapping("/search")
public String search(@RequestParam("name") String name,
                     @RequestParam(defaultValue = "1") Integer page) {
    return "result";
}

PathVariable

绑定URL路径变量:

Java
@GetMapping("/user/{id}")
public String getUser(@PathVariable Integer id) {
    return "userDetail";
}

RequestHeader

绑定请求头信息:

Java
@GetMapping("/info")
public String info(@RequestHeader("User-Agent") String userAgent,
                   @RequestHeader("Accept") String accept) {
    return "info";
}

CookieValue

绑定Cookie值:

Java
@GetMapping("/session")
public String session(@CookieValue("JSESSIONID") String sessionId) {
    return "sessionInfo";
}

RequestBody

绑定请求体(JSON):

Java
@PostMapping("/user")
public String saveUser(@RequestBody User user) {
    userService.save(user);
    return "success";
}

ModelAttribute

绑定模型属性,常用于表单:

Java
@PostMapping("/user")
public String saveUser(@ModelAttribute User user) {
    userService.save(user);
    return "success";
}

@RequestBody用于接收JSON,@ModelAttribute用于接收表单数据。

要点总结

  • @RequestParam:绑定请求参数,最常用
  • @PathVariable:绑定路径变量,RESTful必备
  • @RequestHeader/@CookieValue:绑定请求头和Cookie
  • @RequestBody:绑定JSON请求体
  • @ModelAttribute:绑定表单到对象

📝 发现内容有误?点击此处直接编辑

← 上一篇 RequestParam注解
下一篇 → 复杂对象参数
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库