91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

SpringBoot中怎么實現請求參數校驗

小億
92
2024-03-08 10:33:25
欄目: 編程語言

在Spring Boot中,可以使用JSR 303規范中的注解來實現請求參數的校驗。具體步驟如下:

  1. 在Controller類中的請求方法參數前添加校驗注解,比如@Validated和@NotBlank等。
@RestController
@RequestMapping("/api")
@Validated
public class UserController {
    
    @PostMapping("/user")
    public ResponseEntity<String> createUser(@Valid @RequestBody UserDto userDto) {
        // 處理請求參數
        return ResponseEntity.ok("User created successfully");
    }
}
  1. 創建一個DTO類,用來封裝請求參數,并在DTO類的屬性上添加校驗注解。
public class UserDto {

    @NotBlank(message = "Name is mandatory")
    private String name;

    @Email(message = "Email should be valid")
    private String email;

    // getter and setter
}
  1. 在Controller類中定義一個全局異常處理器,用來捕獲校驗失敗的異常,并返回錯誤信息。
@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(MethodArgumentNotValidException.class)
    @ResponseStatus(HttpStatus.BAD_REQUEST)
    @ResponseBody
    public ResponseEntity<String> handleValidationException(MethodArgumentNotValidException ex) {
        BindingResult result = ex.getBindingResult();
        List<String> errorMessages = result.getAllErrors().stream()
                .map(DefaultMessageSourceResolvable::getDefaultMessage)
                .collect(Collectors.toList());
        return ResponseEntity.badRequest().body(String.join(", ", errorMessages));
    }
}

這樣,當請求參數校驗失敗時,會返回相應的錯誤信息。Spring Boot會自動校驗請求參數,并在校驗失敗時拋出MethodArgumentNotValidException異常,全局異常處理器會捕獲該異常并返回錯誤信息。

0
张北县| 淮安市| 乌鲁木齐县| 得荣县| 宿迁市| 深圳市| 阳曲县| 鹤山市| 金川县| 石狮市| 大安市| 米脂县| 海林市| 万宁市| 桓台县| 平安县| 韩城市| 县级市| 博罗县| 武义县| 白沙| 竹溪县| 洮南市| 三江| 甘孜县| 五台县| 安乡县| 奉新县| 柳江县| 景东| 株洲县| 六盘水市| 大洼县| 都江堰市| 囊谦县| 德昌县| 于田县| 沅江市| 彩票| 永和县| 常德市|