@API(status=STABLE) public interface ValidationAdviceTrait extends ConstraintViolationAdviceTrait, BindAdviceTrait, MethodArgumentNotValidAdviceTrait
Be careful if you use MethodValidationPostProcessor
in order to validate method parameter field directly but violations[].field value looks like arg0
instead of parameter name, you have to configure a
LocalValidatorFactoryBean with your
MethodValidationPostProcessor like following:
@Bean
public Validator validator() {
return new LocalValidatorFactoryBean();
}
@Bean
public MethodValidationPostProcessor methodValidationPostProcessor() {
MethodValidationPostProcessor methodValidationPostProcessor = new MethodValidationPostProcessor();
methodValidationPostProcessor.setValidator(validator());
return methodValidationPostProcessor;
}
AdviceTrait| Modifier and Type | Method and Description |
|---|---|
default org.zalando.problem.StatusType |
defaultConstraintViolationStatus() |
default URI |
defaultConstraintViolationType() |
default String |
formatFieldName(String fieldName)
Format the name of a violating field (e.g.
|
default org.springframework.http.ResponseEntity<org.zalando.problem.Problem> |
newConstraintViolationProblem(Throwable throwable,
Collection<Violation> stream,
org.springframework.web.context.request.NativeWebRequest request) |
createViolation, handleConstraintViolationhandleBindingResulthandleMethodArgumentNotValidcreateViolation, createViolation, createViolationscreate, create, create, create, create, create, create, create, create, fallback, log, negotiate, processcreateStackTrace, isCausalChainsEnabled, prepare, process, resolveResponseStatus, toProblem, toProblem, toProblemdefault URI defaultConstraintViolationType()
default org.zalando.problem.StatusType defaultConstraintViolationStatus()
default String formatFieldName(String fieldName)
fieldName - the field name to formatdefault org.springframework.http.ResponseEntity<org.zalando.problem.Problem> newConstraintViolationProblem(Throwable throwable, Collection<Violation> stream, org.springframework.web.context.request.NativeWebRequest request)
Copyright © 2015–2020 Zalando SE. All rights reserved.