2013-09-24 30 views
2

是否可以在隨WSO2 API Manager版本1.4.0提供的API Publisher中註冊端點URI templates?例如,我想註冊一個端點,例如:WSO2 API中的URI模板發佈者

/職位/ {作業ID}/PEMS

保存的API後,我可以看到在API配置文件的位:

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

我試圖手動更改從URL映射到URI模板,即XML文件,以:

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

,但我仍然得到「的API中找到指定的請求不匹配的資源」。無論如何,這不是一個好的解決方法,因爲我們需要開發人員能夠從發佈者應用程序註冊這些端點。無論何時將更改從API Publisher接口保存到API中,「uri-template」都會恢復爲「url-mapping」。

在此先感謝。

回答

2

這是由於APIPublisher應用程序在定義API資源時僅支持URL映射。

如果您想要定義一個uri模板而不是url映射,您可以通過手動更改api xml來實現此目的。

但在此之前,請確保在創建API時,您已經使用有效的url-mapping定義了API。因此,在您嘗試的API中,首先請編輯APIPublisher中的API,爲API保留有效的url映射模式資源,然後更改其xml以匹配您提到的uri模板模式。

感謝;

0

我們目前不支持uri模板模式。我們只支持url映射。
即使您將後端API配置(即api配置文件)編輯爲url映射,它也不會起作用,因爲我們在請求到達中介引擎之前驗證請求。

您可以使用ESB RESTApi作爲您的後端服務端點。也就是說,使用uri-templates(在ESB中支持它)在wso2esb中定義RESTAPI,並使用url將該API指定爲wso2APIManager的服務端點映射模式。

+0

感謝Ratha。獲得AM 1.4入門指南表明,雖然支持uri模板。請參閱http://dist.wso2.org/products/api-manager/1.4.0/APIManager-GettingStarted-v1.4.0.pdf中第15頁的#2 – user2789361

0

我想補充一點。如前所述,WSO2 APIManager支持uri-templates。只有api-publisher應用程序UI不允許添加uri-templates。
從Publisher UI創建API時,必須將資源映射作爲/ *或有效的url映射。然後當創建突觸api時,必須將該xml文件更改爲uri-template,然後將/ *更改爲uri-template模式。

希望以上將幫助您解決您的問題。

感謝;