嘿,我无法弄清楚如何转换它:
<int-http:inbound-gateway request-channel="eventSinkPayloadChannel"
path="/EventSink/{producer}/{consumer}"
supported-methods="POST" >
<int-http:header name="PRODUCER" expression="#pathVariables.producer"/>
<int-http:header name="CONSUMER" expression="#pathVariables.consumer"/>
</int-http:inbound-gateway>
进入Java DSL。我认为headerExpression
方法将是使用的方法,
Http.inboundGateway("/EventSink/{producer}/{consumer}")
.headerExpression("PRODUCER", expression)
.headerExpression("CONSUMER", expression)
.get()
但是我无法在第二个参数中传递一个字符串,因为它期望类型为Expression,所以我不知道如果我必须在那里实例化SpelExpression或者我实际上甚至使用正确的方法。
感谢帮助。
答案 0 :(得分:1)
private static final SpelExpressionParser PARSER = new SpelExpressionParser();
...
.headerExpression("PRODUCER", PARSER.parseExpression("#pathVariables.producer"))