Spring Bootで@Validatedアノテーションをどのように使用するのか。
Spring Bootには、@Validatedアノテーションがあり、メソッドの引数の有効性を検証するために使用されます。これは、Controllerのリクエスト処理メソッドまたはService層のメソッドに適用できます。
@Validatedアノテーションを使用する手順は次の通りです:
- 依存関係を追加するには、pom.xmlファイルにspring-boot-starter-validation依存関係を追加してください。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
- ControllerやServiceのメソッドに@Validatedアノテーションを追加してください。
@RestController
@Validated
public class MyController {
@GetMapping("/validate")
public String validate(@RequestParam("param1") @NotNull String param1,
@RequestParam("param2") @Min(18) int param2) {
// 处理请求
return "ok";
}
}
上記の例では、@RequestParam(”param1″) @NotNullはparam1パラメータが空であってはならないことを示し、@RequestParam(”param2″) @Min(18)はparam2パラメータの最小値が18であることを示しています。
- 設置の検証が失敗した場合の処理(オプション):検証が失敗した場合に、エラーメッセージをクライアントに返すといった全体的な処理を定義することができます。
@ControllerAdvice
public class ValidationExceptionHandler {
@ExceptionHandler(MethodArgumentNotValidException.class)
@ResponseBody
public ResponseEntity handleValidationExceptions(MethodArgumentNotValidException ex) {
// 处理验证失败的情况
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Validation error");
}
}
上記の例では、@ExceptionHandler(MethodArgumentNotValidException.class)は、バリデーションエラーが発生した時にhandleValidationExceptions()メソッドを呼び出すことを表しています。
Spring Bootでは、@Validatedアノテーションを使用してメソッドパラメータの有効性を検証することができます。