全部学科
Python全栈
python
NodeJS全栈
nodejs
📅 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注解
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码