@GetMapping 是 Spring Boot 中映射 HTTP GET 请求的快捷注解,等价于 @RequestMapping(method = RequestMethod.GET),支持路径匹配、@RequestParam 获取查询参数、@PathVariable 提取路径变量,并自动序列化返回值。

@GetMapping 是 Spring Boot 中用于映射 HTTP GET 请求的注解,本质是 @RequestMapping(method = RequestMethod.GET) 的快捷方式,用起来更简洁、语义更清晰。
基本用法:绑定路径和方法
直接在 Controller 方法上使用 @GetMapping,指定请求路径即可接收 GET 请求:
- 不带路径参数:
@GetMapping("/users")匹配GET /users - 支持 Ant 风格路径:
@GetMapping("/users/**")可匹配子路径(需配合配置) - 可省略 value 属性名:
@GetMapping("/users")等价于@GetMapping(value = "/users")
接收查询参数(Query Parameters)
GET 请求常用 URL 查询参数传值,用 @RequestParam 获取:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 必填参数:
@RequestParam String name,缺少会报 400 错误 - 可选参数:
@RequestParam(required = false) Integer age,不传时为 null(基本类型需用包装类) - 设默认值:
@RequestParam(defaultValue = "10") int size - 参数名不同:
@RequestParam("user_name") String userName,将 URL 中user_name=xxx映射为userName
接收路径变量(Path Variables)
RESTful 风格中常把 ID 等信息放在路径里,用 @PathVariable 提取:
-
@GetMapping("/users/{id}")+@PathVariable Long id→ 解析/users/123中的123 - 支持多个:
@GetMapping("/users/{userId}/orders/{orderId}") - 可指定名称:
@PathVariable("userId") Long id,当形参名与路径占位符不一致时使用
返回数据与状态码控制
方法返回值默认被 @ResponseBody 处理(Spring Boot 自动启用),转为 JSON 或 XML:
- 返回对象自动序列化:
return new User("Alice", 25);→ JSON 响应体 - 自定义状态码:
@ResponseStatus(HttpStatus.OK)写在方法上;或用ResponseEntity<User>手动封装响应体+状态码+头信息 - 返回空响应:
return ResponseEntity.noContent().build();
不复杂但容易忽略的是参数绑定细节和默认行为——比如基本类型参数未设 required = false 或 defaultValue 时,缺失会导致 400;路径变量类型不匹配会直接 404。写完建议用 curl 或 Postman 验证各种参数组合。

















