• ADADADADAD

    SpringBoot中怎么实现请求参数校验[ 编程知识 ]

    编程知识 时间:2024-12-04 12:59:07

    作者:文/会员上传

    简介:

    在Spring Boot中,可以使用JSR 303规范中的注解来实现请求参数的校验。具体步骤如下:在Controller类中的请求方法参数前添加校验注解,比如@Validated和@NotBlank等。@RestContro

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    在Spring Boot中,可以使用JSR 303规范中的注解来实现请求参数的校验。具体步骤如下:

      在Controller类中的请求方法参数前添加校验注解,比如@Validated和@NotBlank等。
    @RestController@RequestMapping("/api")@Validatedpublic class UserController {@PostMapping("/user")public ResponseEntity<String> createUser(@Valid @RequestBody UserDto userDto) {// 处理请求参数return ResponseEntity.ok("User created successfully");}}
      创建一个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}
      在Controller类中定义一个全局异常处理器,用来捕获校验失败的异常,并返回错误信息。
    @ControllerAdvicepublic class GlobalExceptionHandler {@ExceptionHandler(MethodArgumentNotValidException.class)@ResponseStatus(HttpStatus.BAD_REQUEST)@ResponseBodypublic 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异常,全局异常处理器会捕获该异常并返回错误信息。

    SpringBoot中怎么实现请求参数校验.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: springboot