簡體   English   中英

WSO2 API管理器-替換響應正文中的URL

[英]WSO2 API Manager - Replace URLs in response body

我正在嘗試使用WSO2 API管理器為我的RESTful API設置代理。 我的問題是后端API的響應保持不變,因此連接到其他端點的所有URL仍引用后端服務器而不是代理。 我需要一種方法來替換響應正文中的那些url值以指向代理的api。 我知道可以通過使用ESB Mediators的 中介擴展來實現。

我對他們還不夠熟悉,因此無法找到最適合這份工作的人。 URLRewrite中介程序看起來非常簡單,但它似乎不適用於郵件正文,而不適用於郵件頭。 有效負載工廠似乎要求消息具有固定的結構,這對我來說不是很方便,因為我需要它來處理API提供的不同響應(並且我不希望在中介程序定義中維護這些結構) 。

我已經設法通過設置應用程序檢查的標頭來構建其網址來解決它: X-Forwarded-HostX-Forwarded-Proto

因此,我創建了一個Header Mediator,如下所示:

<sequence xmlns="http://ws.apache.org/ns/synapse" name="WSO2AM--Ext--In">
    <header name="X-Forwarded-Host" expression="get-property('transport','Host')" scope="transport"/>
    <header name="X-Forwarded-Proto" value="https" scope="transport"/>
</sequence>

那就成功了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM