我搜遍了很多,但我找不到有關我的條件的問題的正確答案。
我正在構建一個REST API,並且這種情況對我來說似乎是一個邊界線案例,如下所示:
- 我正在處理兩個實體 - 用戶和角色。用戶可以分配多個角色。
- 要將角色分配給用戶,該角色必須已經存在於數據庫中。
- 要爲用戶分配角色,唯一需要的是角色的「代碼」,即短字符串。現在用
-The URI路徑模板是:
--users:本地主機:8080/API /用戶
--Given用戶:本地主機:8080/API /用戶/ {用戶id}
給定的--Roles用戶:localhost:8080/api/users/{userId}/roles
現在,爲了'連接'給定的用戶和給定的角色,我想到了兩個選項。
- 第一種是在任何情況下聽起來都是最佳實踐的方式,可以將發佈數據發送到正文中,可能是JSON。
- 另一個,通過uri和一個空的身體發送它。例如,要將具有ID爲U001的用戶與角色R001相鏈接,則必須發佈到以下uri,而不在身體內發送任何數據:localhost:8080/api/users/U001/roles/R001
事情是這樣的我不介意使用第一個選項,它似乎是最好和最正確的一個,但在這種特殊情況下,我不確定發送一個幾乎空的身體會更好(因爲它只是扮演角色id,一個非常短的字符串)將其發佈到'localhost:8080/api/users/U001/roles'或跳過主體並僅通過uri發送角色id作爲路徑參數,例如localhost:8080/api/users/U001/roles/R001
如何爲HTTP POST使用URI路徑變量?
非常感謝大家的幫助。