【问题标题】:WSO2-AM Transform Request, ResponseWSO2-AM 转换请求、响应
【发布时间】:2015-09-08 13:43:50
【问题描述】:

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

1) 只传递相关参数

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

2) 将 API Header 参数作为查询字符串参数传递

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 wso2-am


    【解决方案1】:

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

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

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

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

    2) 将 API Header 参数作为查询字符串参数传递 您可以使用 Header 调解器 [5] 操作标头值。

    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

    希望这个答案能帮助你获得一个想法。

    干杯, 普布都。

    【讨论】:

    • 感谢您的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-10
    • 1970-01-01
    • 2018-06-22
    • 2020-03-03
    • 1970-01-01
    相关资源
    最近更新 更多