springboot项目校验枚举值
时间: 2023-07-21 16:22:41 浏览: 139
在Spring Boot项目中,我们可以使用Java Bean Validation(JSR 303)规范中的注解来校验枚举值。比如,我们可以使用@EnumValidator注解来校验枚举值。
首先,我们需要在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.2.0.Final</version>
</dependency>
```
接下来,我们可以在实体类中使用@EnumValidator注解来校验枚举值。比如,以下是一个使用@EnumValidator注解校验枚举值的示例代码:
```java
public enum Gender {
MALE, FEMALE
}
public class User {
@NotNull
private String name;
@EnumValidator(enumClass = Gender.class, message = "gender must be MALE or FEMALE")
private Gender gender;
// getters and setters
}
```
在上述代码中,@EnumValidator注解用于校验gender属性是否为Gender枚举中的值。如果不是,会抛出校验异常并提示"gender must be MALE or FEMALE"。
最后,我们需要在Controller中使用@Valid注解来触发参数校验。比如,以下是一个使用@Valid注解触发参数校验的示例代码:
```java
@RestController
@RequestMapping("/users")
public class UserController {
@PostMapping
public ResponseEntity<String> createUser(@Valid @RequestBody User user) {
// do something
return ResponseEntity.ok("User created successfully");
}
}
```
在上述代码中,@Valid注解用于触发参数校验。如果校验失败,会抛出异常并返回相应的错误信息。
阅读全文