簡體   English   中英

在 WSO2 APIM 3.2.0 中修改/刪除 wso2 類中介或 xml 序列中的請求有效負載內容

[英]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 類中介器。

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之前檢查它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM