0
我们正在使用PayloadValidatingInterceptor默认实现,但发现它不验证必填字段。有没有一种方法来验证所需的字段也使用PayloadValidatingInterceptor存在。Can PayloadValidatingInterceptor用于验证所需字段
感谢 阿尼尔
我们正在使用PayloadValidatingInterceptor默认实现,但发现它不验证必填字段。有没有一种方法来验证所需的字段也使用PayloadValidatingInterceptor存在。Can PayloadValidatingInterceptor用于验证所需字段
感谢 阿尼尔
据我所知,它应与配置的XSD文件。也许你没有正确地定义一个字段在你的XSD中是强制的?
也许你错误地配置了拦截器。我已经配置了一个这样的:
@Bean
public PayloadValidatingInterceptor validatingInterceptor() {
PayloadValidatingInterceptor interceptor = new PayloadValidatingInterceptor();
interceptor.setSchema(messagesXsdResource);
interceptor.setAddValidationErrorDetail(true);
return interceptor;
}
当然,它应该被添加为拦截到PayloadRootAnnotationMethodEndpointMapping
@Bean
public PayloadRootAnnotationMethodEndpointMapping endpointMapping() {
PayloadRootAnnotationMethodEndpointMapping mapping = new PayloadRootAnnotationMethodEndpointMapping();
mapping.setInterceptors(new EndpointInterceptor[]{
otherInterceptor(),
validatingInterceptor()
});
return mapping;
}
但我只是猜测,你应该有一个良好的提供更多的上下文回答。
我使用了PayloadValidatingInterceptorWithSourceFix类来完成这个技巧,现在它按预期工作。这给了我更多的验证控制权。谢谢你的回复@evandongen – zDroid
没问题!我很高兴它为你工作。 – evandongen