如何在 java dsl http 入站网关中将路径变量分配给 headers?
How to assign path variables to headers in a java dsl http inbound gateway?
嘿,我不太明白如何转换它:
<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()
但我不能真正在第二个参数中传递一个字符串,因为它需要表达式类型,所以我不知道我是否必须在那里实例化一个 SpelExpression,或者我是否实际上使用了正确的方法。
感谢帮助。
private static final SpelExpressionParser PARSER = new SpelExpressionParser();
...
.headerExpression("PRODUCER", PARSER.parseExpression("#pathVariables.producer"))
嘿,我不太明白如何转换它:
<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()
但我不能真正在第二个参数中传递一个字符串,因为它需要表达式类型,所以我不知道我是否必须在那里实例化一个 SpelExpression,或者我是否实际上使用了正确的方法。
感谢帮助。
private static final SpelExpressionParser PARSER = new SpelExpressionParser();
...
.headerExpression("PRODUCER", PARSER.parseExpression("#pathVariables.producer"))