如何从服务激活器发送自定义响应?

时间:2019-08-05 14:29:37

标签: java spring-integration

我有入站网关,但带有2个参数的URL除外。为了进行测试,只需在浏览器中发送localhost:// my-path / {param1} / {param2}。在serviceActivatorClass中,我接受这两个参数,并且在验证之后,我希望浏览器接受诸如200 OK,404找不到(如果未找到内容),409冲突,500 Internal Server Error的响应,具体取决于我对这些参数的验证。但是我找不到一种方法来发送这些浏览器标准错误。

根据规范,入站网关默认应发送200 OK,但我也无法获得。

<int-http:inbound-gateway id="myId"
                              request-channel="requestChanel"
                              supported-methods="GET"
                              path="/my-path/{param1}/{param2}">
        <int-http:header name="param1" expression="#pathVariables.param1"/>
        <int-http:header name="param2" expression="#pathVariables.param2/>
    </int-http:inbound-gateway>

    <int:channel id="requestChanel"/>
    <int:service-activator input-channel="requestChanel" ref="serviceActivatorClass"/>

如何使服务激活器向浏览器发送标准错误?

1 个答案:

答案 0 :(得分:0)

在回复消息中设置HttpHeaders.STATUS_CODE标头。