GETMAPPING注解是什么
时间: 2025-04-20 19:21:37 浏览: 37
### @GetMapping 注解详解
@GetMapping 是 Spring MVC 提供的一个组合注解,专门用于映射 HTTP GET 请求到特定的处理器方法上[^3]。此注解能够简化代码编写流程,使开发者无需再显式指定 request method 类型。
#### 工作机制
当应用程序接收到一个 HTTP GET 请求时,Spring Boot 将寻找带有匹配 URL 路径的方法,并调用其作为请求处理程序。在进入目标方法前,框架负责完成必要的准备工作,比如解析查询字符串中的参数、校验头部信息等;而在方法返回后,则继续承担起诸如序列化对象成 JSON 或 XML 形式的职责,同时设置好相应的 MIME 类型和其他响应属性。
#### 使用场景
通常情况下,`@GetMapping` 可应用于 RESTful API 开发中读取资源的操作,如获取列表项、检索单个实体详情等。下面给出几个典型例子:
- **基础用法**
对于简单的路由配置可以直接使用 `value` 属性定义 URI 模板。
```java
@RestController
public class HelloController {
@GetMapping("/hello") // 映射 /hello 到本方法
public String sayHello() {
return "Hello, world!";
}
}
```
- **带路径变量**
如果希望从 URL 中提取动态部分作为函数入参,则可通过 `{}` 占位符配合 `@PathVariable` 实现。
```java
@GetMapping("/users/{id}") // {id} 表示这是一个占位符
public ResponseEntity<User> getUserById(@PathVariable Long id) {
User user = userService.findById(id);
if (user != null) {
return new ResponseEntity<>(user, HttpStatus.OK);
} else {
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
}
```
- **接收查询参数**
若要访问 URL 后面附带的关键字参数(即问号后面的部分),则可借助 `@RequestParam` 完成绑定工作。
```java
@GetMapping("/search")
public List<Item> searchItems(@RequestParam("keyword") String keyword,
@RequestParam(value="page", defaultValue="1") int page) {
Pageable pageable = PageRequest.of(page - 1, 10); // 默认每页显示10条记录
return itemService.search(keyword, pageable).getContent();
}
```
阅读全文
相关推荐


















