首先确保你的pom.xml
文件中添加了spring-boot-starter-validation
依赖,以引入校验相关的类和功能(重点:不要引入其他如:validation-api、hibernate-validator依赖)。例如:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
在Spring Boot中,可以使用javax.validation.constraints.Size
注解来判断字段长度是否合法。以下是一个示例
public class MyRequest {
@Size(max = 10, message = "字段长度不能超过10")
private String field;
// getter and setter
}
在Controller中,可以使用@Valid
注解来验证请求对象的字段长度是否合法。如果字段长度超过了设定的最大长度,会抛出MethodArgumentNotValidException
异常。你可以通过捕获该异常并处理来返回相应的错误信息。
@RestController
public class MyController {
@PostMapping("/my-endpoint")
public ResponseEntity<?> myEndpoint(@Valid @RequestBody MyRequest request) {
// 处理请求
return ResponseEntity.ok().build();
}
这样,当接收到请求时,会自动验证MyRequest对象的field字段长度是否超过10,如果超过,则会返回相应的错误信息。
当对象嵌套时,嵌套的对象添加@Valid注解后,嵌套的对象如果有@Size等注解也会一起效验:
public class MyRequest {
@Size(max = 10, message = "字段长度不能超过10")
private String field;
// getter and setter
//嵌套的对象添加@Valid注解后,嵌套的对象如果有@Size等注解也会一起效验
@Valid
private User user;
}
public class User{
@Size(max = 10, message = "字段长度不能超过10")
private String username;
// getter and setter
}