【问题标题】:Mapping optional query params in WSO2 ESB API resource在 WSO2 ESB API 资源中映射可选查询参数
【发布时间】:2015-06-08 08:53:13
【问题描述】:

我必须映射查询参数以将请求发送到 WSO2 ESB 中 API 资源中的端点。

这些查询参数是可选的。例如,以下是资源调用示例:

http://server:port/service?q1={q1}
http://server:port/service?q2={q2}&q3={q3}

我需要一个资源来执行此操作。

我该怎么做?

基本上,我必须读取请求中的查询参数并将其放入对端点 uri 的调用中。

【问题讨论】:

    标签: wso2 wso2esb


    【解决方案1】:

    您可以使用 url-mapping 属性来获得动态 URI。

    这是一个例子:

    <api xmlns="http://ws.apache.org/ns/synapse" name="test_api" context="/testService">
       <resource methods="GET" url-mapping="/*">
          <inSequence>
             <log level="full">
                <property name="paramQ1" expression="$ctx:query.param.q1"></property>
                <property name="paramQ2" expression="$ctx:query.param.q2"></property>
                <property name="paramQ3" expression="$ctx:query.param.q3"></property>
             </log>
             <send>
                <endpoint>
                   <address uri="http://localhost:9766/services/"></address>
                </endpoint>
             </send>
          </inSequence>
          <outSequence>
             <send></send>
          </outSequence>
       </resource>
    </api>
    

    要验证这些查询参数是否存在,可以使用Filter Mediator。一个很好的例子可以在here找到。

    希望对你有帮助。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    相关资源
    最近更新 更多