【发布时间】:2023-03-12 13:58:01
【问题描述】:
我想对 API 公开的所有资源进行通用更改。例如,假设一个 API 公开了一个班级的所有学生,而您想为所有学生设置一门通用课程。
一种方法是查询 API,然后逐个或批量更新资源的属性。但是,这需要首先获取所有资源,然后更新它们的属性,然后发送和发布请求。
相反,我对 RESTful 设计感兴趣,您可以在其中发送属性及其值,这些属性将应用于通过 API 公开的所有资源(例如,上一个示例中的学生) .
关于如何通过 RESTful 设计实现这一点的任何建议?
更新 1:
换句话说,我想将所有资源的一个字段更新为一个共同的值,而不必先获取资源。所以,我不想实现如下的东西,因为我有数百万个资源,我不想先获取它们的所有 ID,然后创建一个 json 对象,如下所示:
PATCH /items
[ { id: 1, name: 'foo' }, { id: 2, name: 'bar' } ]
【问题讨论】:
-
见this。我建议你使用带有列表的 PATCH 方法。
-
请看我的更新。
-
我仍然认为我的回答是正确的。你不想改变学生,你想改变班级。
-
但这并不全面;例如,您如何使用该方法将每个学生的姓氏设置为空字符串?
标签: c# rest api asp.net-core