Хорошо, так что это получается довольно просто и элегантно, используя сгенерированный Spring-код open-api-генератора, по крайней мере в шаблоне «делегата», который я использую.
Класс Delegate создает Метод getRequest (), который вы просто переопределяете следующим образом:
private final NativeWebRequest nativeWebRequest;
@Override
public Optional<NativeWebRequest> getRequest() {
return Optional.ofNullable(nativeWebRequest);
}
Возможно, вам придется добавить NativeWebRequest в ваш конструктор или сделать его @Autowired. (Мы используем lombok для генерации конструктора.)
Тогда в вашем методе API вы можете просто сделать что-то вроде:
String headerValue = getRequest().get().getHeader("my-header-name");