WSO2-AM 转换请求、响应

WSO2-AM Transform Request, Response

我想以某种方式操纵请求和响应的内容。

1) 只传递相关参数

API Request : ?par1=val1&par2=val2
BackEnd Request : ?par1=val1

2) 传递 API Header 参数作为 Query-string 参数

API Request : "x-uuid : 034060c8-f2e0-4f38-ad83-37c1fbd5e239"
BackEnd Request : ?uuid=034060c8-f2e0-4f38-ad83-37c1fbd5e239

3) 构建包含更多后端请求和响应的响应

BackEnd response1 : { par1:val1 }
BackEnd response2 : { par2:val2 }
API Response : { par1:val1, par2:val2 }

4) 数据转换

string <-> number, etc...

我该怎么做? WSO2 中有可视化工具吗?

您应该可以通过使用 WSO2 ESB 产品 [1] 来做到这一点。您只需将请求发送到在 ESB 中创建的代理,进行转换并在转换完成后将响应发送回您的端点。您可以使用 ESB 中介 [2] 进行这些验证。如果您需要可视化工具来创建代理服务、序列和中介者,您可以使用 WSO2 developer studio [3].

此外,您可以使用 API-Manager 在 [8] 中解释的自定义中介序列来执行相同的实现。

请在下面找到更多信息,让您有一个更高层次的想法。

1) 仅传递相关参数:- 您可以使用脚本调解器通过编写您自己的 javascript 来实现此目的,并使用正则表达式过滤来过滤出您需要的内容 [4].

2) 将API Header 参数作为Query-string 参数传递 您可以使用 Header 中介 [5].

操纵 header 值

3) 构建包含更多后端请求和响应的响应:-

不太确定这里的确切要求。但是,如果您查看迭代调解器 [6] 和聚合调解器 [7],它可能会帮助您了解如何实现这一目标。

4) 数据转换

我认为这取决于您尝试通过转换实现的目标。如果你只是想转换一个值,那么你可以通过在脚本中介中使用 javascript 来完成。

[1] https://docs.wso2.com/display/ESB490/WSO2+Enterprise+Service+Bus+Documentation

[2]https://docs.wso2.com/display/ESB490/Mediators

[3]https://docs.wso2.com/display/DVS380/Creating+ESB+Artifacts

[4]https://docs.wso2.com/display/ESB490/Script+Mediator

[5]https://docs.wso2.com/display/ESB490/Header+Mediator

[6]https://docs.wso2.com/display/ESB490/Iterate+Mediator

[7] https://docs.wso2.com/display/ESB490/Aggregate+Mediator

[8] https://docs.wso2.com/display/AM1100/Change+the+Default+Mediation+Flow+of+API+Requests

希望这个回答能帮到您。

干杯, 普布杜.