很好奇,但我正在创建一个API,到目前为止使用这样的URL:
/用户/创建
/用户/ [ID]
现在我正在添加
/用户/创建/批
这让我想知道是否有任何理由我应该将用户管理端点称为“用户”,而不仅仅是“用户”。然后,也许它根本不重要。我至少会猜测我应该对此保持一致。
思想?
答案 0 :(得分:7)
我几乎总是在我的网址设计中使用复数形式。我总是想到在我的网址路径中导航,类似于目录,我越来越深入。
有一个顶级资源(如/users
)表示一个集合,并且有一些子资源(如/users/{userId}/items
)本身就是一个集合。
到目前为止,我所看到的所有apis及其代表域都符合以上建议。
关于您提及的/users/create/batch
,您希望在网址内对“操作”进行编码。在基于HTTP的宁静设计中,如果您使用HTTP方法POST /users
(单用户有效负载)或者用于传输多个用户的批量创建模式,则更适合。
在您的情况下,“创建”和“批次”意味着什么?
答案 1 :(得分:-1)
我想说你应该将'user'用于与已知特定用户相关的活动,并将'users'用于与所有用户相关的活动(比如全局清理操作),修改用户池(比如你的{ {1}})或获取对已知特定用户的引用。
我会create
或/users/select
找到/获取用户,或/users/search
为所有用户做点什么。
我会/users/cleanup
与特定用户做某事。
有一种说法,正如你所说,它根本不重要......