繁体   English   中英

JSONAPI 删除关系

JSONAPI Delete Relationship

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

JSONAPI 规范指定删除关系的方式是通过具有以下正文的PATCH请求:

{ "data": null }

但是,我看不到任何使用GoogleJSONAPI 库执行此操作的方法

每当我尝试传递该主体时,都会收到错误消息:

数据不是 jsonapi 表示

它来自源代码中的 这一行

问题是,我在unmarshalNodeUnmarshalPayload中看不到任何处理datanull的事实。 此外,因为这是一个通用recover ,实际错误是一个nil reference错误,因为它假设data存在于某些东西中。

有没有办法实际使用null数据执行PATCH请求?

1 个回复

我对您引用的 GO JSONAPI 客户端库没有任何经验,但我知道有两种方法可以清除一对一关系,这意味着您可以使用第二种方法作为解决方法,如果第一种方法不适合你:

  1. 使用关系端点

更新一对一关系声明您可以使用对特定资源 (/article/1)关系端点PATCH请求更新关系,即 /articles/1/关系/作者

在这种情况下,您可以使用上面提供的示例清除关系:

PATCH /articles/1/relationships/author
{ "data": null }

因此,虽然我假设您这样做是正确的,但您可能需要在使用 Google 库时仔细检查您的路径以确保它是正确的。

  1. 使用普通端点

这是更新关系的另一种方式,您可以提供正在更新的资源的整个资源对象,而不仅仅是具有资源标识符对象的数据成员。 虽然这种方法似乎更适合一次更新多个关系,或者在同一请求中同时更新资源的关系和属性,但如果 Google 图书馆在第一种方式中遇到问题,这可能是一个很好的解决方法。 规范的这一部分表明,要在这种情况下更新关系,您需要向常规端点发出PATCH请求,并将资源对象作为主要数据。 虽然规范提供的示例没有显示清除此处关系的请求,但我认为它看起来像这样:

PATCH /articles/1
{
  "data": {
    "type": "articles",
    "id": "1",
    "relationships": {
      "author": {
        "data": null
      }
    }
  }
}

希望这对你有用。

祝你好运!

1 JSON API删除“具有并属于许多”关系

我正在使用jsonapi-resources gem为类似购物车的商品构建API,并且需要一个端点来从购物车中删除商品。 目前,我假设使用此API的客户端将不需要实际的“购物车”。 相反,它只需要购物车中产品的列表即可。 但是,似乎没有任何方法可以在不知道事物ID的情况下删除jso ...

3 与Moshi的JSON API关系

我有这个响应JSON,它在理论上遵循JSON API规范。 我正在尝试使用moshi-jsonapi库进行解析,但是我不知道如何解析some_objects关系。 在SomeType I类有一个构件HasMany<SomeObject> someObjects和类SomeObje ...

4 JSON API 与元信息的关系

我有一个实体contract与关系contract_contacts应该以JSON API格式呈现。 为了更清楚,这里是我的实体的结构: 合同 ID 名称 合同联系方式 合同编号 contact_id 类型 评论 接触 ID 名称 可能的 JSON API ...

5 JSON API问题。 包含与关系

我读这个构建的API端点之前。 我阅读了有关复合文件的报价: 为了减少HTTP请求的数量,服务器可以允许包含相关资源以及所请求的主要资源的响应。 这样的响应称为“复合文档”。 这是使用JSON API规范的示例JSON响应: 因此,从我所见,关系部分提供了有关art ...

6 包含与JSON API和Ember Data的关系

考虑以下关系: 以JSONAPI格式表示,如下所示: 考虑以下关系: 办公室->有很多房间-> hasMany桌子-> hasMany抽屉 由以下JSON表示: 我正在尝试使用以下模型在EmberJS / Ember数据中对它们进行建模: ...

8 jsonapi-rb与关系的问题

我对gem jsonapi-rb有问题,我尝试在可序列化中使用该关系,但它确实起作用。 模型 可序列化 客户已经有一张卡,但是当我尝试获得响应时,仅获得客户关系,我没有获得有关卡的数据 响应 ...

9 更正JSON API中的空关系

我有一个具有关联关系的JSON API类型 如果实例没有水果关系,该怎么办? 我应该这样做吗 或这个 或这个 还是完全不同的东西? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM