Я пытаюсь создать простое приложение, в котором пользователь вводит любой ключ, и система отправит запрос на получение. Я хочу добавить некоторые пользовательские заголовки в этот запрос GET. В простой java я использую следующий код.Spring Integration: добавление дополнительных параметров заголовков в HTTP-исходящий запрос.
URL url= new URL(CMRAuth.RESOURCE);
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Accept", "application/json");
connection.setRequestProperty("OData-MaxVersion", "4.0");
connection.setRequestProperty("OData-Version", "4.0");
connection.addRequestProperty("Authorization", "Bearer "+cmrAuth.getAuthenticationResult().getAccessToken());
System.out.println("code:"+connection.getResponseCode());
И он отлично работает. Я хочу сделать это с помощью исходящего шлюза Spring-Integration. Вот как выглядит мой xml.
<int-stream:stdin-channel-adapter id="consoleIn"
channel="requestChannel">
<int:poller fixed-delay="1000" max-messages-per-poll="1" />
</int-stream:stdin-channel-adapter>
<int:channel id="requestChannel" />
<int:chain input-channel="requestChannel">
<int-http:outbound-gateway
url="https://example.com"
expected-response-type="java.lang.String" http-method="GET"/>
<int:service-activator ref="accountResponseHandler" />
</int:chain>
Я хочу, чтобы дать ему все эти дополнительные заголовки: Accept, OData-Version, авторизация и т.д. Как его можно.
Я объявляю <заголовок-enricher> снаружи. Вот почему он не работал. благодаря –