【问题标题】:Mule Http Listner getting url parameter valuesMule Http Listener 获取 url 参数值
【发布时间】:2018-04-13 12:36:52
【问题描述】:
<flow..>
    <http:listener-config name="HTTP_Listener_Configuration" host="${http.hostname}" port="${http.port}" basePath="${http.base.path}" doc:name="HTTP Listener Configuration"/>
    <http:listener config-ref="HTTP_Listener_Configuration" path="store/*" doc:name="HTTP"/>
    Old http end point
    <!--  <http:inbound-endpoint address="http://${http.hostname}:${http.port}/${http.base.path}/store" doc:name="HTTP" exchange-pattern="request-response">
        <object-to-string-transformer />
    </http:inbound-endpoint> -->
    <apikit:router config-ref="store-api-config" doc:name="APIkit Router" />  
</flow>  
<flow name="get:/rates/search:smartstore-api-config">
     <logger message=" #[message.inboundProperties['referenceDate']]" level="INFO" doc:name="Log Request"/>
</flow>

当我尝试调用 url 时,我在记录器中得到空值。如果我启用旧的 http 端点它工作正常。

http://localhost:8899/apis/myapp/myrates/search?referenceDate=2015-01-01

我试过这个link,但没有用。

【问题讨论】:

    标签: mule


    【解决方案1】:
    1) #[message.inboundProperties.'http.query.params'.referenceDate]
    
    2) #[message.inboundProperties.'http.query.params'.get('referenceDate')]
    
    3) #[message.inboundProperties.get('http.query.params').get('referenceDate')]
    

    【讨论】:

      【解决方案2】:

      尝试使用这行代码,它使用 MEL 可以正常工作

      #[message.inboundProperties.get('http.query.params').get('referenceDate')] 
      

      你也可以在变量中设置这个值并以任何你想要的方式处理它

      【讨论】:

        【解决方案3】:

        谈到Java,你可以阅读以下参数:

        eventContext.getMessage().&lt;Map&lt;String,Object&gt;&gt;getInboundProperty("http.query.params").get("yourParam");

        希望有用。

        【讨论】:

          猜你喜欢
          • 2017-01-31
          • 2022-01-08
          • 2012-02-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-26
          • 2020-08-24
          相关资源
          最近更新 更多