我在usergrid上创建了一个实体,但我发现usergrid对JSON中的其他数据进行了处理,我真的不希望出现在API层中。例如,这是我的实体:
{
**"uuid": "7cd5c98a-7b16-11e4-9085-b5397738dcd5",
"type": "summaries",
"created": 1417629724184,
"modified": 1417629993800,**
"accountId": "123123",
"accounts": [
{
"id": "123123",
"type": "Individual",
"category": "Prepaid",
字段uuid / type / created / modified不是我想要提取的字段,尽管usergrid可以解决这个问题。我可以在接收端编写解析它的逻辑,但我们不想在Proxy中编写任何类型的业务逻辑。我该如何抑制这种行为?
答案 0 :(得分:0)
不幸的是,Usergrid对Open API并不是很好,你应该把它放在像Apigee Edige这样的管理层之后。登录您的Apigee帐户,然后单击“创建和管理API”。
在那里,您可以通过提取块或单个元素来操纵JSON有效负载(如下所示,我抓住所有帐户或只获取列表中第一个帐户的ID)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Account-Response">
<DisplayName>Extract Account Response</DisplayName>
<FaultRules/>
<Properties/>
<IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
<JSONPayload>
<Variable name="allComments">
<JSONPath>$.accounts</JSONPath>
</Variable>
<Variable name="account0">
<JSONPath>$.accounts[0].id</JSONPath>
</Variable>
</JSONPayload>
<Source clearPayload="false">commentResponse</Source>
</ExtractVariables>
如果您不使用Apigee,您仍需要在Usergrid前面放置某种程序设计来操纵响应。