springboot涓瑻Validated鎬庝箞浣跨敤
鍦⊿pring Boot涓紝@Validated娉ㄨВ鐢ㄤ簬楠岃瘉鏂规硶鍙傛暟鐨勬湁鏁堟€с€傚畠鍙互搴旂敤鍦–ontroller鐨勮姹傚鐞嗘柟娉曟垨Service灞傜殑鏂规硶涓娿€?/p>
浣跨敤@Validated娉ㄨВ鐨勬楠ゅ涓嬶細
- 寮曞叆渚濊禆锛氬湪pom.xml鏂囦欢涓坊鍔爏pring-boot-starter-validation渚濊禆銆?/li>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
- 鍦–ontroller鎴朣ervice鏂规硶涓婃坊鍔燖Validated娉ㄨВ銆?/li>
@RestController
@Validated
public class MyController {
@GetMapping("/validate")
public String validate(@RequestParam("param1") @NotNull String param1,
@RequestParam("param2") @Min(18) int param2) {
// 澶勭悊璇锋眰
return "ok";
}
}
鍦ㄤ笂闈㈢殑渚嬪瓙涓紝@RequestParam(鈥減aram1鈥? @NotNull琛ㄧずparam1鍙傛暟涓嶈兘涓虹┖锛孈RequestParam(鈥減aram2鈥? @Min(18)琛ㄧずparam2鍙傛暟鐨勬渶灏忓€间负18銆?/p>
- 閰嶇疆楠岃瘉澶辫触鐨勫鐞嗗櫒锛堝彲閫夛級锛氬彲浠ュ畾涔変竴涓叏灞€鐨勫鐞嗗櫒鏉ュ鐞嗛獙璇佸け璐ョ殑鎯呭喌锛屾瘮濡傝繑鍥為敊璇俊鎭粰瀹㈡埛绔€?/li>
@ControllerAdvice
public class ValidationExceptionHandler {
@ExceptionHandler(MethodArgumentNotValidException.class)
@ResponseBody
public ResponseEntity handleValidationExceptions(MethodArgumentNotValidException ex) {
// 澶勭悊楠岃瘉澶辫触鐨勬儏鍐?/span>
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Validation error");
}
}
鍦ㄤ笂闈㈢殑渚嬪瓙涓紝@ExceptionHandler(MethodArgumentNotValidException.class)琛ㄧず褰撳彂鐢熼獙璇佸け璐ョ殑鎯呭喌鏃讹紝璋冪敤handleValidationExceptions()鏂规硶鏉ュ鐞嗐€?/p>
杩欐牱灏卞彲浠ュ湪Spring Boot涓娇鐢ˊValidated娉ㄨВ鏉ラ獙璇佹柟娉曞弬鏁扮殑鏈夋晥鎬т簡銆?/p>
相关问答