在三層式架構中,表示層是用戶與應用之間的橋樑,負責處理所有用戶請求並返回相應的結果。本篇文章將介紹如何在Spring Boot中實現表示層。
首先,我們需要創建控制器類,這些類通常使用@RestController或@Controller注解來標識。假設我們要創建一個用戶管理的應用,以下是一個簡單的控制器示例:
@RestController
@RequestMapping("/api/users")
public class UserController {
private final UserService userService;
public UserController(UserService userService) {
this.userService = userService;
}
@GetMapping
public List<User> getAllUsers() {
return userService.findAllUsers();
}
@PostMapping
public User createUser(@RequestBody User user) {
return userService.saveUser(user);
}
}
在這個例子中,我們定義了一個UserController類,負責處理與用戶相關的HTTP請求。通過@RequestMapping注解,我們將所有以
/api/users
開頭的請求映射到這個控制器。@GetMapping和@PostMapping分別用於處理GET和POST請求。
表示層的另一個重要部分是異常處理。Spring Boot提供了全局異常處理的能力,可以使用@ControllerAdvice注解來實現:
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(ResourceNotFoundException.class)
public ResponseEntity<String> handleResourceNotFoundException(ResourceNotFoundException ex) {
return new ResponseEntity<>(ex.getMessage(), HttpStatus.NOT_FOUND);
}
}
這樣,一旦出現ResourceNotFoundException,就會由handleResourceNotFoundException方法來處理,並返回適當的HTTP狀態碼和錯誤信息。
透過這些步驟,我們就能在Spring Boot中實現一個高效的表示層,負責處理用戶的各類請求並返回合適的響應。