REST APIでエンティティとユーザーの関係を示す

Twitter REST APIを設計しているとします。 tweet というエンティティがあります。ユーザーはこれらのつぶやきを retweet favorite することができます。 tweet またはユーザー認証パラメータを使用したつぶやきの組み合わせをリクエストした場合、認証されたユーザーが既に retweeted および favorited 2回目のAPIリクエストが不要なツイート

現在、 Twitter API には、 tweet エンティティにこのようなフィールドはありませんどういうわけか公式のクライアントやいくつかのサードパーティのクライアントは、そのツイートが認証されたユーザーによって既にお気に入りになっているのか、それとも返信されているのかを推測することができます。

慣習として、REST応答にはエンティティのメタデータが含まれていますが、私が間違っていないとユーザーとエンティティの関係は含まれていません。 Twitter APIを実装する場合、どうやってそのようなフィールドを置くのですか、またはつぶやきごとに2番目のリクエストを開始しますか?

2

1 答え

Tweetエンティティは、具体的には各ステータスのテキストに関するものです。 ステータスオブジェクトには、 >「お気に入り」:false "retweeted":false 私はこれがTwitterの問題をキャッシングで引き起こしたと考えていますが、あなたは別のフォーマットを検討するかもしれません。

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

このようにして data はグローバルにキャッシュされ、 relationship data のユーザー固有の

1
追加された
それはクールなアイデアだ、私は完全な状態のオブジェクトにそれらのフィールドに気づいていない複雑なので、複雑です:)アイデアありがとうが、あなたはまた、データは、JSON応答オブジェクトのルートに直接慣習によって信じていないのですか?
追加された 著者 Ahmet Alp Balkan,
私はそれがデータの種類とサイトの機能性にある程度依存していると思います。たとえば、ソーシャルサイトでは、新しいフォロワーやメッセージなどを含む data の横に notifications オブジェクトを含めることができ、別々の通知を頻繁に要求する必要がなくなります方法。
追加された 著者 abraham,