我可以在http通道入站适配器状态代码表达式中访问标头吗?

时间:2018-05-10 09:37:39

标签: java spring-integration spring-integration-http

我有一个如此配置的HTTP入站通道适配器:

<int-http:inbound-channel-adapter id="/api/requests"
    channel="httpRequestsChannel"
    path="/requests"
    supported-methods="POST,OPTIONS">
    <int-http:cross-origin allow-credentials="false" allowed-headers="*" origin="*" />
</int-http:inbound-channel-adapter>

我想让其回复201 POST次请求,200回复​​其他人(即OPTIONS),但不是:

  • headers.get('http_requestMethod').equals(&quot;POST&quot;) ? 201 : 200
  • :headers[http_requestMethod].equals(&quot;POST&quot;) ? 201 : 200
  • &quot;POST&quot;.equals(:headers['http_requestMethod']) ? 201 : 200

对于status-code-expression属性有效,其中大部分都以失败的上下文初始化结束:

IllegalStateException: No node

我在这里使用了错误的语法,或者在那个阶段没有提供这些细节吗?

我已经看到this question建议使用网关,但我现在想坚持使用适配器。

0 个答案:

没有答案