0
我有一個端點/groups
REST:更新與不同領域的資源需要不同的用戶權限
我可以通過發佈一些信息,以/groups
單組創建一組可以通過/groups/{id}
我可以通過發佈到/group/{id}
更新組中的一些字段但是我有不同的字段需要由不同的用戶更新權限,例如:A組可能具有結構
{
"id": 1,
"name": "some name",
"members": [
{
"user_id": 456,
"known_as": "Name 1",
"user": { /* some user object */},
"status": "accepted",
"role": "admin",
"shared": "something"
},
{
"user_id": 999227,
"known_as": "Name 1",
"user": { /* some user object */},
"status": "accepted",
"role": "basic",
"shared": "something"
},
{
"user_id": 9883,
"known_as": "Name 1",
"user": { /* some user object */},
"status": "requested",
"role": "basic",
"shared": "something"
}
],
"link": "https://some-link"
}
例如,我已爲/group/{id}/members/{id}
端點以下3個操作:
- 我只希望用戶能夠更新自己的
known_as
字段 - 我只希望羣組管理員能夠更新每個成員的
role
和status
字段。 - 我想無論是用戶和管理員能夠更新
shared
場
我的選擇是這樣的:
- 我應該允許通過張貼到
/group/{id}/members/{id}
與完成所有更新如果成員試圖更新一個不允許更新的字段,會拋出一個未經授權的錯誤。 - 或者我應該將每個操作分解爲
/group/{id}/members/{id}/role
,/group/{id}/members/{id}/shared
和/group/{id}/members/{id}/status
?這個問題是我不想提出很多請求來更新所有的字段(我想最終會有很多這樣的字段)。
所以只是爲了澄清我的問題是:它認爲適當的休息做我選項1在那裏我可以發佈更新到端點,如果你試圖改變,你是不是允許一個領域,可能會失敗至?