Можно ли вернуть 204 из http-адаптера входящего канала Spring Integration?
У меня есть адаптер входящего канала, который пересылает метод бина, который возвращает ноль, но так как http должен вернуть ответ, возвращается 200. Есть случаи, когда я хотел бы указать, что возвращаемое значение, например, 204, и я попробовал кучу вещей, но, похоже, ничего не работает.
Я использую Spring-интеграции 3.0.2.
Спасибо джастин
1 ответ
Решение
Да, установите http_statusCode
заголовок в ответном сообщении до 204.
РЕДАКТИРОВАТЬ: (см. Комментарии ниже)
<int-http:inbound-gateway request-channel="receiveChannel"
path="/receiveGateway"
supported-methods="POST"/>
<int:publish-subscribe-channel id="receiveChannel" task-executor="exec" />
<int:service-activator input-channel="receiveChannel" expression="payload + ' from the other side'" output-channel="next"/>
<int:chain input-channel="receiveChannel">
<int:header-enricher>
<int:header name="http_statusCode" value="204"/>
</int:header-enricher>
<int:transformer expression="''"/>
</int:chain>
Предполагается, что основной поток не возвращает результат.
Если вы хотите дождаться завершения потока, удалите исполнителя задачи.
Вам, вероятно, также нужен трансформатор, чтобы преобразовать полезную нагрузку в ""
,