jsonapi在链接资源请求后跟踪更新用户的方式

时间:2015-05-26 00:19:27

标签: rest json-api

此问题基于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)。我的问题涉及提出一种方法来处理这两个选项中的一个。

  1. 通过响应
  2. 让客户知道相关资源的变化
  3. 期望客户端发出GET请求以刷新资源

1 个答案:

答案 0 :(得分:0)

JSON API规范从here声明了以下内容:

  

可以通过向表示资源集合的URL发送POST请求来创建资源。请求必须包含单个资源对象作为主数据。资源对象必须至少包含一个类型成员。

因此,只要你有一个类型成员,这两种方法在技术上都是正确的。

这两种方法中较好的方法是第一种方法,在大多数JSON API实现中,返回在其响应中创建的资源的所有属性是一种常见的约定。期望客户端发出GET请求来刷新资源似乎是不好的做法。

相关问题