@GetMapping是Spring Boot中处理HTTP GET请求的注解,为@RequestMapping(method = RequestMethod.GET)的快捷写法,用于Controller方法,支持路径变量、请求参数及请求头等约束条件。

@GetMapping 是 Spring Boot 中用于处理 HTTP GET 请求的注解,本质是 @RequestMapping(method = RequestMethod.GET) 的快捷写法。它通常用在 Controller 方法上,配合 @RestController 或 @Controller 使用,让方法只响应 GET 方式访问。
基础写法:绑定路径
最简单的用法是指定请求路径:
@GetMapping("/users")
public List<User> getAllUsers() {
return userService.findAll();
}
访问 GET /users 就会触发这个方法。
支持路径变量(PathVariable)
从 URL 路径中提取参数,比如获取单个用户:
- 使用 {id} 占位符定义变量
- 用 @PathVariable 注解接收
@GetMapping("/users/{id}")
public User getUserById(@PathVariable Long id) {
return userService.findById(id);
}
访问 GET /users/123,id 值自动转为 Long 类型。
你接手一个需求时,是不是经常这样:"改一个小字段 → 结果把不相关的代码也改了"、"需求说得很模糊 → 做着做着发现跑偏了"、"数据库加个字段 → 上线才发现漏了数据兼容"、"做了个新功能 → 一个月后自己都忘了当时怎么设计的"、"写到一半被中断 → 再回来不知道从哪继续";这个 Skill 就是专门解决这些问题的。 它会自动探测你的项目环境(JDK、Spring Boot、ORM、数据库、前端框架),记在
支持请求参数(RequestParam)
处理查询字符串(query string),例如分页或搜索:
- 参数名默认与方法形参名一致,可省略
name属性 - 用 required = false 标记可选参数
- 用 defaultValue 设置默认值
@GetMapping("/users")
public List<User> getUsers(
@RequestParam(defaultValue = "0") int page,
@RequestParam(defaultValue = "10") int size,
@RequestParam(required = false) String keyword) {
return userService.search(keyword, page, size);
}
访问 GET /users?page=1&size=20&keyword=admin 即可传入参数。
支持请求头、媒体类型等约束
可通过属性进一步限定匹配条件:
-
produces:指定返回内容类型,如
produces = "application/json" - consumes:指定接收的内容类型(GET 一般不用)
-
headers:要求请求携带特定 header,如
headers = "X-API-Version=2"
@GetMapping(value = "/status", produces = "text/plain;charset=UTF-8")
public String getStatus() {
return "OK";
}
该接口只响应 Accept 头包含 text/plain 的 GET 请求。

















