1

我创建了一个简单的 dss 服务,它通过输入 cust_id 为我提供客户数据。

我已使用以下 url GET /services/getCustDetailDSS/getDetail?cid=101 将此 Web 服务公开为 http get 资源

我的服务对应的xml代码如下

<data name="getCustomerDetailDSS" serviceGroup="" serviceNamespace="">
<description/>
<config id="mydb">
    <property name="carbon_datasource_name">mydb</property>
</config>
<query id="get_customer_detail" useConfig="mydb">
    <sql>select identifier,user_status from customer_detail where identifier = :cid</sql>
    <param name="cid" paramType="SCALAR" sqlType="STRING"/>
    <result element="customer">
        <element column="identifier" name="cid" xsdType="xs:string"/>
        <element column="user_status" name="status" xsdType="xs:string"/>
    </result>
</query>
<operation name="get_customer_detail_operation">
    <call-query href="get_customer_detail">
        <with-param name="cid" query-param="identifier"/>
    </call-query>
</operation>
<resource method="GET" path="/getDetail">
    <call-query href="get_customer_detail">
        <with-param name="cid" query-param="cid"/>
    </call-query>
</resource>
</data>

但现在我希望 dss 服务从 url 读取 cust_id 而不是将其作为参数传递。

即我想以 GET /services/getCustDetailDSS/cid/101/getDetail 的形式访问 dss 服务

我如何在 DSS 中做到这一点?

任何人都可以提供我需要在我的 dss 中进行的 wat 更改吗?

4

2 回答 2

3

为了GET /services/getCustDetailDSS/getDetail/cid/101

您必须按如下方式编辑资源路径。

<resource method="GET" path="getDetail/cid/{cid}">
于 2014-06-12T19:17:02.657 回答
0

使用 WSO2 DSS 3.2.1,您现在可以定义查询字符串参数,如下所示:

<param name="cid" sqlType="QUERY_STRING"/>

代替:

<param name="cid" paramType="SCALAR" sqlType="STRING"/>

您的网址应如下所示:

.../getDetail?cid=101
于 2014-10-02T14:32:31.220 回答