各位好,我正在設計公司的 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 來用,謝謝