如何解决在 WSO2 APIM 3.2.0 中修改/删除 wso2 类中介或 xml 序列中的请求有效负载内容
我已使用以下属性从 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"
}
我在处理从属性中获取的请求负载的序列中使用了 java 类中介器。
String ReqPayload = synapsecontext.getProperty("RequestPayload").toString();
log.info("ReqPayload: " + ReqPayload);
建议一种在发送到后端之前修改/删除类中介器或自定义序列中的有效负载字段的方法。
解决方法
有效负载最简单的方法是使用脚本中介,如下所示:
<script language="js"><![CDATA[
var message = mc.getPayloadJSON();
delete message.parameters.Id;
mc.setPayloadJSON(message);
]]></script>
如果负载中不存在 parameters.Id
是安全的,但请注意,parameters
应该存在。如果没有,您必须在尝试删除 parameters.Id
之前检查它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。