Включение атрибутов модели соединения в сериализацию - PullRequest
0 голосов
/ 17 декабря 2009

Представьте себе сервис, в котором User :has_many Events :through или Interest модель соединения и что есть флаг Interest#attending, указывающий, планирует ли пользователь присутствовать на событии.

Если я хочу вернуть список событий, но также включить значение флага #attending для текущего пользователя, я мог бы сделать это:

<interests>
  <interest>
    <attending>true</attending>
    <event>
       ...
    </event>
  </interest>
</interests>

Но я бы также возвратил значение флага #attending для аутентификации при извлечении только одного события. (Чтобы избавить клиента от необходимости делать дополнительный HTTP-запрос.) Итак, я испытываю желание вернуть что-то похожее на это:

<events>
  <event>
    <attending>true</attending>
    ...
  </event>
</events>

Есть ли причина не использовать этот подход?

1 Ответ

0 голосов
/ 17 декабря 2009

Похоже, это зависит от того, как клиент использует данные. Если они возвращают данные в вашу базу данных, вам придется перевести их входные данные в приемлемый формат (нет статуса посещения каждого события). Но если он просто отображается, я не вижу проблем с ним. Я сделал этот вид нормализации в определенных ситуациях; это всегда "чувствует" неправильно, но у меня не было проблем с этим, пока я документирую поведение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...