静态批量更新 API
Batch Updating in Rest API
我有一个关于 REST API 设计的奇怪问题!
有一个名为 users
的资源,并且有不同的 user-types
比如说,如果我想通过 Rest 设计删除一个用户,我会有一个像
这样的端点
删除/users/id
但现在我想删除具有特定用户类型的所有用户,以及我无法作为查询参数发送的其他参数。我阅读了一堆反对使用正文参数进行 DELETE
的文档
所以我认为 POST /users/delete
路线会是更好的选择。
现在我很困惑我的新路由 POST /users/delete
是否可以用于单个用户删除和多个用户删除。这是否违反任何 REST 标准?
如果不是,还有什么方法可以做到这一点?
我相信你能做到。可以使用 REST 方式删除单个资源,使用 POST /users/delete
可以删除多个资源
There is no "official" standard for RESTful web APIs. This is because REST is an architectural style, while SOAP is a protocol. REST is not a standard in itself, but RESTful implementations make use of standards, such as HTTP, URI, JSON, and XML.
-- Wikipedia
所以是的,通过 POST
实现 multi-destroy 并没有违反任何 REST 原则
Does this violate any REST standard?
不 - 它可能违反了一些 Rails 约定,但就 REST 客户端而言它完全没问题。
将您的问题翻译成 HTML 和万维网的语言可能会有所帮助:如果您有两个 不同的 网络,是否违反了 REST 原则向 same 资源提交请求的表单?
答案是否定的 - 它仍然“有效”;浏览器使用标准化的处理规则来获取表单的信息并从中创建适当的 HTTP 请求,然后通过网络将其发送到正确的位置,而无需了解任何语义(除了定义的通用语义之外根据 HTTP 规范)。
我有一个关于 REST API 设计的奇怪问题!
有一个名为 users
的资源,并且有不同的 user-types
比如说,如果我想通过 Rest 设计删除一个用户,我会有一个像
这样的端点删除/users/id
但现在我想删除具有特定用户类型的所有用户,以及我无法作为查询参数发送的其他参数。我阅读了一堆反对使用正文参数进行 DELETE
的文档所以我认为 POST /users/delete
路线会是更好的选择。
现在我很困惑我的新路由 POST /users/delete
是否可以用于单个用户删除和多个用户删除。这是否违反任何 REST 标准?
如果不是,还有什么方法可以做到这一点?
我相信你能做到。可以使用 REST 方式删除单个资源,使用 POST /users/delete
There is no "official" standard for RESTful web APIs. This is because REST is an architectural style, while SOAP is a protocol. REST is not a standard in itself, but RESTful implementations make use of standards, such as HTTP, URI, JSON, and XML.
-- Wikipedia
所以是的,通过 POST
Does this violate any REST standard?
不 - 它可能违反了一些 Rails 约定,但就 REST 客户端而言它完全没问题。
将您的问题翻译成 HTML 和万维网的语言可能会有所帮助:如果您有两个 不同的 网络,是否违反了 REST 原则向 same 资源提交请求的表单?
答案是否定的 - 它仍然“有效”;浏览器使用标准化的处理规则来获取表单的信息并从中创建适当的 HTTP 请求,然后通过网络将其发送到正确的位置,而无需了解任何语义(除了定义的通用语义之外根据 HTTP 规范)。