WSO2 API Publisher中的URI模板

时间:2013-09-24 19:38:22

标签: templates uri wso2

是否可以在WSO2 API Manager版本1.4.0附带的API Publisher中注册带URI templates的端点?例如,我想注册一个端点,如:

/作业/ {作业ID} / PEMS

保存API后,我可以在API配置文件中看到这一位:

<resource methods="GET" url-mapping="/jobs/{jobid}/pems">

我尝试手动将XML文件从url-mapping更改为uri-template,即:

<resource methods="GET" uri-template="/jobs/{jobid}/pems">

但我仍然得到“在给定请求的API中找不到匹配的资源”。无论如何,这不是一个好的解决方法,因为我们需要开发人员能够从发布者应用程序注册这些端点。每当更改从API Publisher界面中保存到API时,'uri-template'都会恢复为'url-mapping'。

提前致谢。

3 个答案:

答案 0 :(得分:2)

这是因为APIPublisher app在定义API资源时仅支持URL-Mappings。

如果要定义uri-template而不是url-mapping,可以通过手动更改api xml来实现。

但在此之前请确保在创建API时,您已在尝试的API中使用有效的url-mapping.So定义API,首先请从APIPublisher编辑API,以保留API资源的有效url-mapping模式然后更改其xml以匹配您提到的uri-template模式。

感谢;

答案 1 :(得分:0)

我们目前不支持uri-template模式。我们只支持网址映射 即使如果您将后端API配置(即api配置文件)编辑为url-mappings,它也无法工作,因为我们在请求到达中介引擎之前验证请求。

您可以使用ESB RESTApi作为后端服务端点。也就是说,使用uri-templates(在ESB中支持它)在wso2esb中定义RESTAPI,并将该API作为服务端点从wso2APIManager指向url-映射模式。

答案 2 :(得分:0)

我想补充一点。正如我之前提到的,WSO2 APIManager支持uri-templates。只有api-publisher app UI不允许添加uri-templates。
从Publisher UI创建API时,必须将资源映射指定为/ *或有效的url-mapping。然后,当创建synapse api时,您必须将该xml文件更改为uri-template,然后将/ *更改为uri-template模式。

希望以上将帮助您解决问题。

感谢;