在 Spring Boot 中,Controller 是负责处理 HTTP 请求,返回 HTTP 响应的组件。我们可以通过将注解(如 @Controller、@RestController)添加到类上来创建一个 Controller。下面是一个简单的示例代码:
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/")
public List<User> findAllUsers() {
return userService.findAllUsers();
}
@GetMapping("/{id}")
public User findUserById(@PathVariable Long id) {
return userService.findUserById(id);
}
@PostMapping("/")
public User createUser(@RequestBody User user) {
return userService.createUser(user);
}
@PutMapping("/{id}")
public User updateUser(@PathVariable Long id, @RequestBody User user) {
return userService.updateUser(id, user);
}
@DeleteMapping("/{id}")
public void deleteUser(@PathVariable Long id) {
userService.deleteUser(id);
}
}
上述代码定义了一个名为 UserController
的 Controller 类,它映射到 /users
路径,用于处理与用户相关的 CRUD 操作。
findAllUsers()
方法用于获取所有的用户列表,并返回一个包含所有用户的列表;findUserById()
方法根据用户的 ID 查找用户,并返回该用户的信息;createUser()
方法用于创建新的用户,请求体中携带了用户的信息,返回创建成功的用户信息;updateUser()
方法用于更新用户信息,根据用户的 ID 查询到对应的用户,将请求体中的用户信息更新到数据库中,并返回更新后的用户信息;deleteUser()
方法根据用户的 ID 删除用户。
需要注意的是,上述代码中使用了一个名为 UserService
的业务逻辑服务类,用于处理与用户相关的业务逻辑,例如数据库操作、数据验证等。这个类需要使用 @Service
注解标注并注入到 Controller 中。
当我们在浏览器或者其它客户端向 /users
路径发送 GET、POST、PUT 和 DELETE 请求时,Spring Boot 会自动将请求分发到对应的 Controller 方法中,在方法中执行相应的操作,并将结果封装成 HTTP 响应返回给客户端。