REST API创建一个或多个资源?

时间:2018-07-20 13:03:37

标签: javascript node.js rest api-design

我能想到的选择是:

1

POST /book (object) - creates one book
POST /bulk/book (array) - creates multiple books

2

POST /book (object|array) - creates one or multiple books depending on the input type

3

POST /book (array) - expect an array every time, to create one book just have one in the array

有推荐吗?

2 个答案:

答案 0 :(得分:0)

我也会参加2或3。

这是我通常的做法:

GET    /Books      => Get all books
GET    /Books/{id} => Get one book
POST   /Books      => Create new book
PUT    /Books/{id} => Updates all values of a book
PATCH  /Books/{id} => Updates/adds one or more value of a book
DELETE /Books/{id} => Deletes a given book

为了简化小型项目,有时我将Post,Put和Patch全部合并到POST中。

答案 1 :(得分:0)

我的偏爱是3,其中2名是亚军。

我喜欢的是,无论您要创建多少本书,只有一种方法可以实现,那就是通过POST /book (array)

这简化了客户的工作,因为客户不必使用a)不同的端点b)取决于要创建的书籍数量的不同数据类型。需要创建一本书吗?完美,有一种简单的方法。

最后,我将其视为简化文档,测试和整体使用。