2014-12-03 5 views
0

Я создал объект на usergrid, но обнаружил, что usergrid использует дополнительные данные в JSON, что я действительно не хочу появляться в уровне API. Например вот моя сущность:Usergrid: Как удалить добавление метаданных из объектов Usergrid

{ 
    **"uuid": "7cd5c98a-7b16-11e4-9085-b5397738dcd5", 
    "type": "summaries", 
    "created": 1417629724184, 
    "modified": 1417629993800,** 
    "accountId": "123123", 
    "accounts": [ 
    { 
     "id": "123123", 
     "type": "Individual", 
     "category": "Prepaid", 

Поля UUID/типа/создание/редактирование не то, что я хочу, чтобы вытащить хотя usergrid галсов его вместе. Я могу написать логику на принимающей стороне, которая разбирает это, но мы не хотим писать какую-либо бизнес-логику в Proxy. Как я могу подавить это поведение?

ответ

0

К сожалению, Usergrid не очень хорош для Open API, и вы должны положить его на уровень управления, такой как Apigee Edige. Войдите в свою учетную запись Apigee и нажмите «Создать и управлять API».

В то вы можете манипулировать полезной нагрузки JSON путем извлечения блоков или отдельных элементов (например, ниже, где я хватаю либо все счета или только идентификатор для первого счета в списке)

<?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, чтобы манипулировать ответами.

+0

Спасибо, Майкл, который дал некоторую ясность, однако я хотел спросить, как я могу это сделать, если я издеваюсь над API, особенно если у меня есть контроллер, который использует node.js? Есть ли библиотеки node.js, которые вы можете предложить? – user2825273

+0

Я не очень разбираюсь в узле, но у javascript в целом есть отличные инструменты разбора JSON, и вы можете легко запускать зависящие библиотеки, такие как jquery. Проверьте документацию узла на apigee по адресу http://apigee.com/docs/api-services/content/overview-nodejs-apigee-edge и образцы кода в github по адресу https://github.com/apigee/ узел-образцы –

 Смежные вопросы

  • Нет связанных вопросов^_^