此问题基于http://jsonapi.org/
的格式假设要实现像follow / unfollow这样的功能,最好的jsonapi方法是做出以下请求:
POST /users/<user_id>/following/
Content-Type: application/vnd.api+json
Accept: application/vnd.api+json
{
"data": [
{ "type": "user", "id": <following_user_id> }
]
}
现在,用户资源具有受此请求影响的属性(例如is_followed,followers_count)。我的问题涉及提出一种方法来处理这两个选项中的一个。
答案 0 :(得分:0)
JSON API规范从here声明了以下内容:
可以通过向表示资源集合的URL发送POST请求来创建资源。请求必须包含单个资源对象作为主数据。资源对象必须至少包含一个类型成员。
因此,只要你有一个类型成员,这两种方法在技术上都是正确的。
这两种方法中较好的方法是第一种方法,在大多数JSON API实现中,返回在其响应中创建的资源的所有属性是一种常见的约定。期望客户端发出GET请求来刷新资源似乎是不好的做法。