springboot controller映射地址注解
时间: 2025-05-13 18:28:14 浏览: 15
### Spring Boot 中 Controller 的映射地址注解使用方法
在 Spring Boot 中,`@Controller` 和 `@RestController` 是常用的控制器注解,它们通过路径映射注解来定义 HTTP 请求的处理逻辑。以下是关于映射地址注解的具体说明和示例。
#### 类级别的路径映射
可以使用 `@RequestMapping` 或其快捷方式(如 `@GetMapping`, `@PostMapping` 等)在类级别设置基础 URL 路径。这会作为该控制器下所有方法的基础路径[^1]。
```java
@RestController
@RequestMapping("/api/v1") // 定义全局前缀路径
public class ExampleController {
@GetMapping("/hello") // 实际访问路径为 /api/v1/hello
public String sayHello() {
return "Hello, World!";
}
}
```
#### 方法级别的路径映射
对于具体的方法,可以通过 `@RequestMapping` 及其变体(如 `@GetMapping`, `@PostMapping`, `@PutMapping`, `@DeleteMapping` 等)进一步细化请求路径和 HTTP 方法类型。
##### 示例 1:基本 GET 请求
```java
@GetMapping("/greet/{name}") // 支持路径变量 {name}
public String greet(@PathVariable String name) {
return "Greetings, " + name;
}
```
##### 示例 2:POST 请求并接收 JSON 数据
```java
@PostMapping("/create")
public ResponseEntity<String> createResource(@RequestBody MyEntity entity) {
// 处理实体对象 logic here...
return new ResponseEntity<>("Created", HttpStatus.CREATED);
}
```
##### 示例 3:带查询参数的请求
```java
@GetMapping("/search")
public List<MyEntity> searchEntities(@RequestParam(required = false) String keyword) {
if (keyword != null && !keyword.isEmpty()) {
// 执行基于关键词的搜索逻辑
} else {
// 返回默认数据集
}
return Collections.emptyList();
}
```
#### 综合应用
当需要更复杂的路径配置时,可以在类和方法层面组合使用这些注解:
```java
@RestController
@RequestMapping("/users") // 基础路径
public class UserController {
@GetMapping("/{id}") // 动态获取单个用户信息
public User getUserById(@PathVariable Long id) {
// 查询数据库返回对应 ID 用户的信息
return new User(id, "John Doe");
}
@PostMapping("") // 创建新用户资源
public ResponseEntity<User> createUser(@RequestBody User user) {
// 存储到数据库后返回创建成功的状态码
return new ResponseEntity<>(user, HttpStatus.CREATED);
}
}
```
以上展示了如何利用不同类型的路径映射注解实现灵活的功能设计,并支持 RESTful 风格接口开发。
阅读全文
相关推荐


















