Можно ли вернуть 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>

Предполагается, что основной поток не возвращает результат.

Если вы хотите дождаться завершения потока, удалите исполнителя задачи.

Вам, вероятно, также нужен трансформатор, чтобы преобразовать полезную нагрузку в "",

Другие вопросы по тегам