У меня есть REST Controller, я хочу проверить один параметр заголовка.
Я создал пользовательскую аннотацию для того же. Но проверка не вызывается. Мы добавили аннотацию @Validated на контроллер
Как проверить параметр в заголовке?
Метод контроллера:
@RestController
@RequestMapping("/ids/{id}")
@Validated
public class IdController {
@RequestMapping(value = "/", method = POST, produces = APPLICATION_JSON_VALUE)
public ResponseEntity accept(@PathVariable(value = "id") String id,
@Valid @RequestBody Request request,
@RequestHeader(value = mode) @ValidMode String mode) {
}
}
Примечание:
@Target({FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER})
@Retention(RUNTIME)
@Constraint(validatedBy = ModeValidator.class)
public @interface ValidMode {
String message() default "incorrect mode";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
Validator
public class ModeValidator implements ConstraintValidator<ValidMode, String> {
@Override
public void initialize(ValidMode constraint) {
}
@Override
public boolean isValid(String value, ConstraintValidatorContext context) {
return false;
}
}
Как проверить режим заголовка запроса?