软件工程
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层`

浙公网安备 33010602011771号