假设您正在设计Twitter REST API。有一些名为tweet
的实体。用户可以retweet
和favorite
这些推文。如果您使用用户身份验证参数请求tweet
或推文的聚合,那么您如何表明经过身份验证的用户已经retweeted
和favorited
这些推文而无需第二个API请求?
目前,Twitter API在tweet
个实体上没有此类字段,但其某些官方客户和某些第三方客户端能够推断该推文是否已被经过身份验证的用户收藏或转发。
按照惯例,REST响应包含实体的元数据,而不是用户实体关系,如果我没有错的话。这是怎么回事,如果你要实现Twitter API,你会在哪里放这些字段,或者你会在每条推文中发出第二个请求?
答案 0 :(得分:1)
推文实体是关于每个状态的文本。完整的status object包含"favorited": false
和"retweeted": false
等属性。我相信这会导致Twitter问题的缓存,所以你可能会考虑不同的格式。
{
"data": {
"id":"123",
"text":"blah blah"
},
"relationship": {
"favorited": true,
"retweeted": false
},
"links": { ... }
}
这种方式data
可以全局缓存,而relationship
可以是relationship
的特定用户data
。