restful api 的名称或 ID 为 url

Name or ID as url for restful api

我目前使用 users 路线构建 restful api。如果用户名是唯一的,使用用户名或他的id作为参数是否更愚蠢?

或者

example.com/api/users/johndoe

example.com/api/users/123456

此外,我为 project 资源规划了路线。如果我这里需要project-id,会不会设计不一致?

通常用户名更容易记住,但我建议您使用 ID,因为在用户名中可能会有空格或其他字符(例如德语元音变音),这些字符很难形成 url。也可能是用户更改了他的名字。那么ID对面的所有链接都失效了