我在WSO2 ESB(4.8.1)中创建了一个API,我想通过请求体向该API发送PUT请求。我试过了sample 我想在定义的API的序列中记录属性值。
这是我的要求机构:
这是我尝试记录位置名称的方式:
但是我收到这样的错误:
(错误 - SynapseJsonPath #stringValueOf。评估JSON路径时出错。返回空结果。错误>>>无效路径)
那么如何阅读这些值?
答案 0 :(得分:5)
为了达到您的要求,您应该发送带有下面请求的“Content-Type”HTTP标头
"Content-Type : application/json"
然后您可以记录下面的特定JSON元素。
<log>
<property name="location" expression="json-eval($.coordinates.location[0].name)"></property>
</log>
然后你可以看到以下日志,
感谢。
答案 1 :(得分:1)
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>