Карта имитации Spring-Boot ‹Строка, Строка› заголовков HTTP

Я пытаюсь заставить работать клиента Feign, где подпись метода нисходящего вызова (@RequestBody someObject, @RequestHeaders Map<String, String> headers). Но я не могу найти никакого работоспособного решения. Пробовали аннотацию @HeaderMap, но Feign игнорирует ее и сообщает мне, что у меня слишком много параметров RequestBody в методе. @RequestHeader позволяет установить только один декларативный заголовок. Я не уверен, что RequestInterceptor будет работать, потому что мне нужны эти заголовки, переданные из предыдущего запроса. Я чувствую, что Сыщик уже каким-то образом это делает - так что я думаю, что это должно быть возможно.


person Gandalf    schedule 20.07.2018    source источник


Ответы (1)


Поэтому я не нашел отличного решения для этого, но решение, которое я придумал, заключалось в использовании Feign RequestInterceptor для добавления заголовков к запросам, которые хранятся в ThreadLocal, который устанавливается прямо перед вызовом реализации FeignClient. Не самый элегантный и не будет работать, если мы когда-нибудь откажемся от парадигмы типа 1 поток на тип запроса, но все, о чем я мог думать на данный момент.

person Gandalf    schedule 27.07.2018