繁体   English   中英

wso2 API管理器修改发送到后端的JSON有效负载

[英]wso2 api manager modify JSON payload sent to backend

我将REST API URL定义为

https://hostname/[version]/[service]/[operation]

而且我想在WSO2 API Manager中转换JSON有效负载,以便将版本和操作放进去。

因此,WSO2将以以下形式将其发送到后端:

POST https://backend/[service]
{
    “version”: [version],
    “operation”: [operation]
}

因此,我需要将版本和操作从URL转换为JSON负载。 怎么做?

据我了解,您想使用资源URI定义(而非API上下文)中的值创建新的有效负载和POST。

假设:

  • 您不想更改方法(资源具有POST方法)。
  • 最初发布的请求也是JSON

您可能想要创建(突触)中介流,以用于ESB构建此类消息。

文档“ 添加中介扩展”中介绍了插入中介的方法 将针对API的每个请求执行此中介

具有资源https://hostname/[version]/[service]/[operation]

在中介中,您可以构建JSON有效负载

<payloadFactory media-type="json">
  <format>{
      "version":"$1", 
      "service": "$2", 
      "some_original_data": "$3"
    }</format>
  <args>
    <arg  expression="get-property('uri.var.version')"/>
    <arg  expression="get-property('uri.var.service')"/>
    <arg  expression="$.person.name" evaluator="json" />
  </args>
</payloadFactory>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM