CNode

请问使用RESTful设计API时, 对于批量修改的数据应该怎么设计?

问答
Xx22x22发布于8 年前最后回复8 年前5 回复4416 浏览0 收藏

如果修改单个用户信息的api如下: put /api/user/1

{
  "name": "tom",
  "addr": "北京"
}

那么通过直觉去想, 批量修改用户的api应该这样设计: put /api/user

[
  {
    "name": "tom",
    "addr": "北京"
  },
  {
    "name": "Obama",
    "addr": "大连"
  }
]

但是这样设计好像不符合RESTful的url必须是资源的设计, 请问大家是怎么设计的呢? 谢谢!

查看回复

回复 (5)

Y
yunkou#1·8 年前

put /api/user/[id...] 这样呢?

Y
yszou#2·8 年前

POST /api/user/batch-update

X
x22x22#3·8 年前
引用 yunkouput /api/user/[id...] 这样呢?

@yunkou 要改的内容不一样

X
x22x22#4·8 年前
引用 yszouPOST `/api/user/batch update`

@yszou batch-update应该算动词吧

Y
yszou#5·8 年前
引用 x22x22@yszou batch update应该算动词吧

@x22x22

对啊。

  • /api/user/create
  • /api/user/delete
  • /api/user/update

我是这样做的,所以要加一个什么批量修改,我一点都不纠结。

参与回复
登录后即可参与回复。登录