无法读取 wso2 ESB 中的 JSON 请求主体参数作为 api

Cannot Read JSON request body parameters in wso2 ESB as an api

我在 WSO2 ESB (4.8.1) 中创建了一个 API,我想向 API 发送一个带有请求正文的 PUT 请求。我试过 sample 我想在定义的 API.

的序列中记录一个 属性 值

这是我的请求正文:

这是我尝试记录位置名称的方式:

但是我收到这样的错误:

(ERROR - SynapseJsonPath #stringValueOf. Error evaluating JSON Path . Returning empty result. Error>>> invalid path)

那么如何读取这些值?

为了达到您的要求,您应该发送 "Content-Type" HTTP header 和如下请求,

    "Content-Type : application/json"

enter image description here

然后您可以记录特定的 JSON 元素,如下所示。

 <log>
    <property name="location" expression="json-eval($.coordinates.location[0].name)"></property>
 </log>

然后可以看到如下日志,

enter image description here

谢谢。

If you want to get single variable from user in json request you can use this code 


Use This json:
    {

    "namee":"UsmanYaqooooooooooob"
    }


Api Code: 
        <api xmlns="http://ws.apache.org/ns/synapse" name="Hello" context="/hello">
           <resource methods="POST" uri-template="/post">
              <inSequence>
                 <log level="custom">
                    <property name="===========inSequence" value="****"></property>
                    <property name="locationsssssssss" expression="json-eval(.namee)"></property>
                 </log>
                 <payloadFactory media-type="json">
                    <format>{"hello":"world"}</format>
                    <args></args>
                 </payloadFactory>
                 <property name="messageType" value="text/xml"></property>
                 <respond></respond>
              </inSequence>
           </resource>
        </api>