是否应该为批量CRUD操作REST创建单独的端点?

时间:2019-12-26 17:20:58

标签: rest api api-design

如果我想在我的REST API中支持单个和批量创建,更新,删除操作,则有两个选择:

为单个操作和批量操作创建单个端点,例如:

POST docs/
{content...}

POST docs/
[
    {content...},
    {content..,}
]

或者为单个操作和批量操作创建单独的端点,例如:

POST docs/
{content...}

POST docs/bulk
[
    {content...},
    {content...}
]  

哪种方式在REST准则和设计原则方面更好,为什么?非常感谢。

1 个答案:

答案 0 :(得分:0)

Josh所述,REST不提供有关资源设计的指导。任何可以命名的信息都可以是资源,所有资源都应以相同的方式理解消息。

HTTP并没有更好的表现;它在不鼓励任何特定资源设计的情况下定义消息语义。

在修改单个资源时,HTTP鼓励您以间接方式发布到该资源-cache invalidation的规则表明哪个资源应具有其本地缓存的表示形式无效。

但是我们还没有标准化使任意资源无效的通用机制。这意味着您无法将缓存语义传达给通用HTTP组件。

相关问题