Указание отношения сущности с пользователем в API REST - PullRequest
2 голосов
/ 06 февраля 2012

Предположим, вы разрабатываете API REST для Twitter. Существуют сущности, называемые tweet s. Пользователи могут retweet и favorite эти твиты. Если вы запрашиваете tweet или совокупность твитов с параметрами аутентификации пользователя, как бы вы указали, что аутентифицированный пользователь уже имеет retweeted и favorited этих твитов без необходимости повторного запроса API?

В настоящее время Twitter API не имеет таких полей в tweet сущностях, но каким-то образом его официальные клиенты и некоторые сторонние клиенты могут определить, является ли этот твит уже одобренным или ретвитированным аутентифицированным пользователем.

По соглашению, ответы REST содержат метаданные сущностей, а не отношения пользователя с сущностью, если я не ошибаюсь. Как это происходит, если бы вы реализовали Twitter API, куда бы вы поместили такие поля или вы бы инициировали повторный запрос каждого из твитов?

1 Ответ

1 голос
/ 06 февраля 2012

Чирикать Сущности конкретно о тексте каждого статуса. Полный объект состояния включает в себя такие атрибуты, как "favorited": false и "retweeted": false. Я считаю, что это вызвало проблемы с кэшированием в Твиттере, поэтому вы можете рассмотреть другой формат.

{
  "data": {
    "id":"123",
    "text":"blah blah"
  },
  "relationship": {
    "favorited": true,
    "retweeted": false
  },
  "links": { ... }
}

Таким образом, data может кэшироваться глобально, а relationship может быть определенным пользователем relationship для data.

...