У меня есть приложение Spring Boot, в котором мне нужно выполнить некоторую проверку полей запроса на основе значения заголовка.
Итак, как и в любом другом приложении Spring Boot, моя точка входа в моем контроллере отдыха выглядит как
public ResponseEntity<Mono<MyResponse>> myOperation(MyRequest request, String another_parameter)
Моя проблема здесь в том, что для выполнения моих проверок я думал об использовании org.springframework.validation.Validator
Всякий раз, когда вы хотите реализовать вышеуказанный интерфейс, вы должны сделать что-то вроде:
public class WebsiteUserValidator implements Validator {
@Override
public boolean supports(Class<?> clazz) {
return MyRequest.class.equals(clazz);
}
@Override
public void validate(Object obj, Errors errors) {
MyRequest user = (MyRequest) obj;
if (checkInputString(MyRequest.getSomeField())) {
errors.rejectValue("someField", "someField.empty");
}
}
private boolean checkInputString(String input) {
return (input == null || input.trim().length() == 0);
}
}
Я хотел бы получить заголовки в реализациях метода validate
.
Как этого добиться? (получить заголовки можно так сказать в любой момент).