【问题标题】:jsonapi way of tracking updated user after request on linked resourcejsonapi在链接资源请求后跟踪更新用户的方法
【发布时间】:2015-08-07 11:33:24
【问题描述】:

本题基于http://jsonapi.org/的格式

假设要实现关注/取消关注之类的功能,最好的 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. 通过Response让客户端知道相关资源的变化
  2. 期望客户端发出 GET 请求以刷新资源

【问题讨论】:

    标签: rest json-api


    【解决方案1】:

    来自here 的 JSON API 规范声明如下:

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

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

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

    【讨论】:

      猜你喜欢
      • 2017-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-19
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      相关资源
      最近更新 更多