其余 api - 更新单个资源域

2022-09-01 02:08:20

假设我的驱动程序资源有 rest 终结点。我有这样的PUT方法

myapi/drivers/{id}

{body of put method}

我需要添加允许“启用”和“禁用”驱动程序的功能

为这样的情况创建新的终结点是个好主意吗?

PUT myapi/drivers/{id}/enable/false

或者最好使用现有的端点?使用现有端点的一个问题是驱动程序有很多字段(近30个),并且发送所有这些字段只是为了更新“启用”或“禁用”驱动程序是过分的。

你觉得怎么样?


答案 1

这正是HTTP方法的用途。它用于资源具有许多字段但您只想更新几个字段的情况。PATCH

就像 一样,您可以向 发送请求。但是,与 不同,您只发送要在请求正文中更改的字段。PUTmyapi/drivers/{id}PUT

创建这样的端点不是很可靠,因为“启用”本身并不能真正称为资源。myapi/drivers/{id}/enable

有关 Spring 终结点的示例实现,请参阅此链接PATCH


答案 2

使用 PATCH Http metod 更新一个字段

PATCH myapi/drivers/{id}/enable

推荐