我试图实现WSO2 API管理器来处理对API端点的调用,并对响应进行一些调解。我在发布者中添加了一个API,将http端点设置为远程API并实现了一些中介。一切都很好。 我有以下映射: {背景}/{版本}/RetrieveResource/{RESOURCEID} - > {API服务器}/RetrieveResource/{RESOURCEID}WSO2 AM HTTP端点重写url
现在我想改变,像这样的映射: {背景}/{version}/Resource/{resourceid} - > {api server}/RetrieveResource/{resourceid}
所以我希望我的WSO2 api有路径/ Resource/1,调用远程api/RetrieveResource/1。因此,我试图在我的序列中使用重写中介。这会更改我的“To”标题,但不会调用正确的端点路径。我打电话资源/ 1,我调解它RetrieveResource/1,但仍然WSO2调用端点资源/ 1这ofcourse给了我404
我调停如下所示:
<sequence xmlns="http://ws.apache.org/ns/synapse" name="custom_in">
<property name="WSO2_AM_API_ACCEPT_MESSAGE_TYPE" expression="get-property('transport', 'Accept')" scope="default"/>
<property name="Accept" scope="transport" action="remove"/>
<rewrite xmlns="http://ws.apache.org/ns/synapse">
<rewriterule>
<action value="RetrieveResource" regex="Resource" type="replace" fragment="path"/>
</rewriterule>
</rewrite>
</sequence>
我显然缺少的东西,任何帮助将不胜感激。
谢谢你的回答。我怀疑我需要更改REST_URL_POSTFIX。我用XML试过没有成功,你碰巧有一个如何做到这一点的例子?我想避免用Eclipse编写我的介体。 – Cerebres