gpt4 book ai didi

rest - 如何指示/请求删除 REST 补丁中的对象属性

转载 作者:行者123 更新时间:2023-12-01 17:20:31 25 4
gpt4 key购买 nike

是否有标准化的方法来指示 RESTful PATCH 请求中字段/参数的空值?

假设我有一个对象,我想直接从该对象中删除一个属性并将该更改保留到 MT/DB。在客户端,我只会删除该属性(在 JS 中),但是当修补到我的 REST API 层时,是否有一种标准化的方法来指示应该删除该属性(不是对象,只是属性)?

为了清楚起见/示例,这里是该对象的假设 PATCH 路径:

PATCH /service/thing/{id}

以及一些示例 PATCH 负载:

单个属性更新:

{ "myprop": "changed" }

多属性更新:

{ "myprop": "changed", "anotherprop": "changed" }

对于想要删除 "myprop" 的 PATCH,您显然不能只提交此有效负载:

{ }

你会做这样的事情吗:

{ "myprop": undefined }

或者,您会创建一个全新的 DELETE 路线吗:

DELETE /service/thing/{id}/myprop

或者,其他什么?

最佳答案

我会像你建议的那样实现PATCH。以接受部分表示进行更新的方式。

这样我将始终发送 JSON 部分表示。

PATCH { "myprop": "newvalue" }

并删除 myprop 空值。请求 GET 时发回空值由您决定。您始终可以忽略 null 值(与空不同)。

PATCH { "myprop": null }

注意null而不是undefinednull 是一个 JSON 值。但这只是我的 2 美分。

关于rest - 如何指示/请求删除 REST 补丁中的对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19414979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com