2015-08-18 91 views
0

我試圖創建一個POST API使用(Wso2 API manager1.9),它將接受請求作爲JSON有效載荷,並使用有效載荷工廠媒體更改請求的有效載荷並將新的有效載荷傳遞到後端代理得到迴應。傳遞有效載荷到端點

爲POST API有效載荷:

{ 
     "id" :"8888822", 
     "l_name" : "aiiii", 
     "f_name" : "lllla" 
} 
  • PAYLOAD到後端代理:
  • 我需要JSON有效載荷內追加JSON有效載荷和發送到後端。你可以讓我知道如何做到這一點?我已經嘗試過有效載荷工廠調解器,並通過如下。

    <input> 
    <newParam> 
        { 
         "sm_id" :"8888822", 
         "l_name" : "aiiii", 
         "f_name" : "lllla"  
    } 
    </newParam> 
    </input> 
    
    <payloadFactory> 
         <format> 
          <input> 
          <newParam> 
           "id" :"$1", 
           "lname" : "$2", 
           "fname" : "$3" 
          </newParam> 
          </input> 
         <args> 
          <arg expression="//input/newParam/id"> 
          <arg expression="//input/newParam/lname"> 
          <arg expression="//input/newParam/fname"> 
         </arg></arg></args> 
    </payloadFactory> 
    

    但它不工作,請你讓我知道這是什麼問題或任何需要的變化。

    我真的很感謝你對此的快速回復。

    回答

    0

    可以提取的JSON值與屬性:

    <property xmlns:ns="http://org.apache.synapse/xsd" name="id" expression="json-eval($.id)" scope="default" type="STRING"> 
    

    然後內部有效載荷:

    <payloadFactory> 
         <format> 
          <input> 
          <newParam> 
           { 
            "sm_id" :"$1", 
            "lname" : "$2", 
            "fname" : "$3" 
           } 
          </newParam> 
          </input> 
         </format> 
         <args> 
          <arg expression="get-property('id')"> 
          <arg expression="get-property('lname')"> 
          <arg expression="get-property('fname')"> 
         </arg></arg></arg></args> 
    </payloadFactory> 
    
    +0

    您可能需要 JavaMastaRSA