求助大神。最近需要做参数校验。根据网上的例子,都是在controller中直接对请求的参数进行校验。但是我目前的需求有点不一样:我希望先判断该请求参数中某一个字段的类型再进行参数校验。假如该请求是A类型任务,那我只校验abc字段,假如是B类型任务,那我只校验def字段这样。
所以我希望能在普通方法中进行校验,但实际结果却没有生效:
public class TaskValidator {
private static final Logger logger = LogManager.getLogger("TaskValidatorLogger");
public void validateTest(@Validated Test test) {
logger.info("Validate: {}", test.getName());
}
public static void main(String[] args) {
new TaskValidator().validateTest(new Test());
}
}
@Data
public class Test {
@NotNull(message = "name can not be null")
private String name;
}
请问该如何解决呢
service中也是可以使用注解校验的,如果想要更灵活的使用JSR-303的参数校验方式,可以封装一个ValidationUtil。给你两篇参考文章你应该就会了。
希望可以帮到你哦。