当前位置:首页 >综合 >SpringBoot 接口对参数进行校验 下面是行校一个例子

SpringBoot 接口对参数进行校验 下面是行校一个例子

2024-06-28 20:33:21 [百科] 来源:避面尹邢网

SpringBoot 接口对参数进行校验

作者:理工男二号 开发 架构 在 Spring Boot 中,接口我们可以使用 Java Bean Validation API(JSR 303)来对接口参数进行校验,对参该 API 遵循标准的数进注解格式进行参数校验。

在 Spring Boot 中,行校我们可以使用 Java Bean Validation API(JSR 303)来对接口参数进行校验,接口该 API 遵循标准的对参注解格式进行参数校验。

SpringBoot 接口对参数进行校验 下面是行校一个例子

以下是数进一些常见的注解:

SpringBoot 接口对参数进行校验 下面是行校一个例子

  • @NotNull:校验对象是否为 null;
  • @Size(min, max):校验字符串的长度是否在 min 和 max 之间;
  • @Min:校验数字是否大于等于指定值;
  • @Max:校验数字是否小于等于指定值;
  • @Email:校验字符串是否符合 Email 格式。

下面是行校一个例子,假设我们有一个用户注册接口,接口需要校验用户名和密码:

SpringBoot 接口对参数进行校验 下面是行校一个例子

@RestController
public class UserController {

@PostMapping("/register")
public ResponseEntity<?> registerUser(@RequestBody @Valid UserDto userDto) {
// 处理用户注册请求
return ResponseEntity.ok().build();
}

public static class UserDto {
@NotNull
private String username;

@NotNull
@Size(min = 6, max = 20)
private String password;

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}
}
}

在上面的例子中,我们在 UserDto 类上使用了 @Valid 注解,数进该注解会告诉 Spring Boot 对该对象进行校验。行校在 UserDto 类中,接口我们使用了 @NotNull 和 @Size 注解对 username 和 password 进行校验,对参保证它们不为 null,数进且 password 的长度在 6 到 20 之间。

如果校验失败,Spring Boot 会抛出MethodArgumentNotValidException 异常,我们可以在 @ExceptionHandler 中捕获该异常,并返回一个包含错误信息的 JSON 响应,例如:

@RestControllerAdvice
public class GlobalExceptionHandler {

@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseEntity<?> handleMethodArgumentNotValidException(MethodArgumentNotValidException ex) {
List<String> errors = ex.getBindingResult()
.getAllErrors()
.stream()
.map(DefaultMessageSourceResolvable::getDefaultMessage)
.collect(Collectors.toList());
return ResponseEntity.badRequest().body(errors);
}
}

在上面的例子中,我们定义了一个全局异常处理器,并在其中捕获MethodArgumentNotValidException 异常,将校验失败的错误信息封装成一个列表并返回。

通过上述方式,我们就可以对接口参数进行校验,并在校验失败时返回错误信息,提高接口的健壮性和可靠性。

责任编辑:姜华 来源: 今日头条 SpringBoot参数校验

(责任编辑:娱乐)

    推荐文章
    热点阅读