软件工程

Controller层 - 请求的入口与出口
职责定位
接收HTTP请求
参数校验与转换
调用Service层处理业务
返回HTTP响应
`@RestController
@RequestMapping("/api/users")
public class UserController {

private final UserService userService;

// 构造器注入
public UserController(UserService userService) {
    this.userService = userService;
}

@GetMapping("/{id}")
public ResponseEntity<UserDTO> getUserById(@PathVariable Long id) {
    UserDTO user = userService.getUserById(id);
    return ResponseEntity.ok(user);
}

@PostMapping
public ResponseEntity<Void> createUser(@Valid @RequestBody UserCreateRequest request) {
    userService.createUser(request);
    return ResponseEntity.status(HttpStatus.CREATED).build();
}

}
关键点
使用@RestController注解标记为控制器
通过@RequestMapping定义基础路径
方法参数使用@PathVariable、@RequestBody等注解绑定请求数据
返回ResponseEntity可以灵活控制HTTP状态码和响应头
应保持"瘦控制器"原则,业务逻辑交给Service层`

posted @ 2025-03-26 20:53  ytr123  阅读(22)  评论(0)    收藏  举报