各位好,我正在设计公司的 RESTful api,遇到一个身份判定的问题有点卡住,想请教一下各位
假设我今天要拿到一个 team 里面我这个 user 的 profile,该怎么下比较好
1. teams/{team_id}/users/profile
2. teams/{team_id}/users/me/profile
3. teams/{team_id}/users/{user_id}/profile
会有这个问题是因为,一般 RESTful 都是表定是 me 了,登入后用在 header 的 token 拿取属于你的资料
这个定义的情况下 1 感觉是最接近的,但 users 下没有指定对象又感觉很怪,毕竟 users 是复数
假设 2 成立,那我 teams 想要一支 api 也透过 user_id 找其他人 profile 的话 3 跟 2 route 会打架
3 如果带上自己 user_id 可以解决全部问题,但又失去了直接比对 jwt token 的便利性
for me: teams/{team_id}/me/profile
for someone: teams/{team_id}/users/{user_id}/profile
如果上述成立,另一个模组是 users,专门处理 user 的内容,以忘记密码举例
for me: users/me/forgot-password
for someone: users/{user_id}/forgot-password
这 route 又打架了 XD,不确定表达的好不好,目前就是卡在该怎么在如何在 url 上可以明确看出这只 api
对到的是你或者是某个指定对象,route 不冲突但也可以兼顾直接拿 jwt token 来用,谢谢