就 REST API 而言,通常遵循哪种结构更好?
假设所有资源的GET
/PUT
/POST
/DELETE
。
1) 将当前登录的用户用于/users/**/* 路由。
/users
/users/password
/users/email
/users/preferences
/users/documents
/documents/:id
2) 具有带 ID 的绝对路径并使用 /users/:id
作为当前登录用户?
/users
/users/:id/password
/users/:id/email
/users/:id/preferences
/preferences/:id
重要吗?
最佳答案
两者都很好。为每个用户创建唯一端点的好处在于,有一天您可以允许用户 X 访问有关用户 Y 的信息。
我在最近的 API 中遵循的模式是为每个用户创建一个唯一的端点,但是 1 个端点 /current-user
重定向到 /user/:some-id
.
一个 url 可能表示一个身份。其他资源可能将用户称为某个事物的“创建者”或“修改者”,这很有意义,在这些地方您可能想要使用 url(而不仅仅是 userId)。
关于当前用户与 ID 的 REST 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50284369/