Modify/Remove 请求 wso2 中的负载内容 class mediator 或 xml WSO2 APIM 3.2.0 中的序列
Modify/Remove request payload content in wso2 class mediator or xml sequence in WSO2 APIM 3.2.0
我使用以下 属性.
从 wso2 apim 自定义序列中的前端获取了请求负载
<property name="RequestPayload" expression="json-eval($)" />
让请求负载为
{
"token": "jhghjgjhghjg",
"parameters": {
"Name": "alice",
"appName": "app",
"Id": "Id"
},
"date": {
"min": "this.startOrMin",
"max": "this.endOrMax",
"formats": [
"yyyy-MM-dd HH:mm:ss",
"yyyy-MM-dd HH:mm:ss"
]
},
"limit": "this.apiService.noOfRecords"
}
考虑到我想在发送到后端之前删除请求负载中的 Id 字段。
我在处理取自 属性.
的请求负载的序列中使用了 java class 中介
String ReqPayload = synapsecontext.getProperty("RequestPayload").toString();
log.info("ReqPayload: " + ReqPayload);
建议在 class 中介或自定义序列中 modify/remove 负载字段发送到后端之前的方法。
有效负载的最简单方法是使用脚本中介程序,如下所示:
<script language="js"><![CDATA[
var message = mc.getPayloadJSON();
delete message.parameters.Id;
mc.setPayloadJSON(message);
]]></script>
如果负载中不存在 parameters.Id
是安全的,但请注意,parameters
应该存在。如果没有,您必须在尝试删除之前检查它 parameters.Id
.
我使用以下 属性.
从 wso2 apim 自定义序列中的前端获取了请求负载<property name="RequestPayload" expression="json-eval($)" />
让请求负载为
{
"token": "jhghjgjhghjg",
"parameters": {
"Name": "alice",
"appName": "app",
"Id": "Id"
},
"date": {
"min": "this.startOrMin",
"max": "this.endOrMax",
"formats": [
"yyyy-MM-dd HH:mm:ss",
"yyyy-MM-dd HH:mm:ss"
]
},
"limit": "this.apiService.noOfRecords"
}
考虑到我想在发送到后端之前删除请求负载中的 Id 字段。
我在处理取自 属性.
的请求负载的序列中使用了 java class 中介String ReqPayload = synapsecontext.getProperty("RequestPayload").toString();
log.info("ReqPayload: " + ReqPayload);
建议在 class 中介或自定义序列中 modify/remove 负载字段发送到后端之前的方法。
有效负载的最简单方法是使用脚本中介程序,如下所示:
<script language="js"><![CDATA[
var message = mc.getPayloadJSON();
delete message.parameters.Id;
mc.setPayloadJSON(message);
]]></script>
如果负载中不存在 parameters.Id
是安全的,但请注意,parameters
应该存在。如果没有,您必须在尝试删除之前检查它 parameters.Id
.