У меня настроен адаптер входящего канала 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("POST") ? 201 : 200
:headers[http_requestMethod].equals("POST") ? 201 : 200
"POST".equals(:headers['http_requestMethod']) ? 201 : 200
для атрибута status-code-expression
сработало, большинство из них заканчиваются неудачной инициализацией контекста с:
IllegalStateException: No node
Использую ли я здесь неправильный синтаксис, или эти сведения не доступны на этом этапе?
Я видел этот вопрос , где предлагается шлюз, но я бы сейчас хотел воспользоваться адаптером.