【问题标题】:How to assign path variables to headers in a java dsl http inbound gateway?java - 如何将路径变量分配给java dsl http入站网关中的标头?
【发布时间】:2015-11-07 21:14:40
【问题描述】:

嘿,我不知道如何转换:

<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,或者我什至实际上是否使用了正确的方法。

感谢您的帮助。

【问题讨论】:

    标签: java spring spring-integration


    【解决方案1】:
    private static final SpelExpressionParser PARSER = new SpelExpressionParser();
    
    ...
    
        .headerExpression("PRODUCER", PARSER.parseExpression("#pathVariables.producer"))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-08
      • 1970-01-01
      • 1970-01-01
      • 2014-06-04
      • 2018-05-22
      • 2012-01-06
      相关资源
      最近更新 更多