swagger客户端控制台不接受API MANAGER 1.9查询参数

时间:2015-08-13 13:25:16

标签: wso2 wso2-am

enter image description here在部署原型之后,当尝试调用没有查询参数的服务时,它可以工作,但是当我给查询参数一个值时,它会说资源未找到

collection.find({}, ['Name', 'District', '-_id'], function (e, docs) {
    res.json(docs);
});

我们如何支持在URL

之后接受任何查询参数
<am:fault xmlns:am="http://wso2.org/apimanager">
<am:code>403</am:code>
<am:type>Status report</am:type>
<am:message>Runtime Error</am:message>
<am:description>No matching resource found in the API for the given     request</am:description>
</am:fault>

2 个答案:

答案 0 :(得分:1)

你启用了JWT cahing吗?如果您已启用,则API Manager 1.9.0中有一个已知的issue,将在即将发布的版本中修复。

谢谢!

答案 1 :(得分:0)

当您在API Manger中提供URI模式时,您必须提供&#34;?*&#34;如果您的URL包含查询参数,则最后是字符。即使swagger能够使用该参数创建URL,运行时也无法将其标识为查询参数(运行时基于Apache Synapse)。通过添加该字符,您将强制Synapse将查询参数附加到URL。 所以你的模板应该是。

<resource methods="GET" uri-template="accounts/{account_id}/asd?*" faultSequence="fault">

由于