REST 方式在一个请求中发布多个相同类型的资源

标签 rest web-services http url endpoint

我正在设计用于对我的实体执行 CRUD 操作的 REST API。

我将以下 URL 用于添加一个权限的 POST 请求:

POST: /permissions

我在我所有的端点中都使用了这个约定。但是,现在我需要能够通过一个请求存储一堆权限。它可能包含 1-100 条记录。我应该做哪些 URL 修改以遵循 REST 风格并同时能够使用两个端点 - 添加一个或多个权限?

我曾想过只用它们的列表作为一个终点,但这让人感到困惑。为什么使用我的 API 的最终用户应该发送只有一个元素的 JSON 数组?我想他们希望我们只希望他们发送没有数组包装器的对象。

最佳答案

绝对有可能定义一个新的媒体类型和一个新的资源来保存与许多其他资源相同的数据。

单个原子数据不一定需要仅由单个 url 上的 REST api 表示。因此,一种选择可能是只创建一个新端点,该端点可以接收代表“许多权限”的资源。

一种替代方法可能是尝试弄清楚为什么执行许多 HTTP 请求是不好的,并尝试在不引入批处理系统的情况下解决该问题。 HTTP2 在这里可能会有所帮助,但引入 HTTP2 可能不会让您一路走来。

关于REST 方式在一个请求中发布多个相同类型的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48212729/

相关文章:

HTTP:重定向时,服务器是否立即发送响应?

java - 如何从数据库中获取基于Id的SpringBoot Java数据

java - spring集成休息服务抛出404错误

web-services - 使用时区信息进行地理编码

spring - 带有 Spring Integration 的 SOAP 代理

java - WCF 互操作性测试

http - 将一种资源附加到另一种资源的 RESTful 方式是什么?

android - 将 Android 应用程序连接到亚马逊 RDS

java - JEE8有没有取消HTTP 2请求处理的功能

android - Flutter: InternalLinkedHashMap<String, dynamic >' has no instance method ' cast' with matching arguments