Я пытаюсь заставить работать клиента Feign, где подпись метода нисходящего вызова (@RequestBody someObject, @RequestHeaders Map<String, String> headers)
. Но я не могу найти никакого работоспособного решения. Пробовали аннотацию @HeaderMap, но Feign игнорирует ее и сообщает мне, что у меня слишком много параметров RequestBody в методе. @RequestHeader позволяет установить только один декларативный заголовок. Я не уверен, что RequestInterceptor будет работать, потому что мне нужны эти заголовки, переданные из предыдущего запроса. Я чувствую, что Сыщик уже каким-то образом это делает - так что я думаю, что это должно быть возможно.
Карта имитации Spring-Boot ‹Строка, Строка› заголовков HTTP
Ответы (1)
Поэтому я не нашел отличного решения для этого, но решение, которое я придумал, заключалось в использовании Feign RequestInterceptor
для добавления заголовков к запросам, которые хранятся в ThreadLocal, который устанавливается прямо перед вызовом реализации FeignClient
. Не самый элегантный и не будет работать, если мы когда-нибудь откажемся от парадигмы типа 1 поток на тип запроса, но все, о чем я мог думать на данный момент.
person
Gandalf
schedule
27.07.2018