簡體   English   中英

用於“自我”的REST API過濾器

[英]REST API Filters for 'self'

我有許多最終用戶和管理人員都可以雙重使用的API。 我將使用首選項並給出兩個示例:

  • / user / preferences-這給最終用戶他們的偏好
  • / users / {user} / preferences-這給出了任何人的偏好

顯然,這導致了重復。 當然,對於最終用戶和管理員,我只能使用'/ users / {user} / preferences',但是最后我遇到了其他問題:

1)此人需要在每次通話中輸入用戶ID,這很麻煩。

2)現在,安全性將成為一個問題,因為后端需要確保正確處理每個請求,即,惡意人員無法輸入他人的ID並檢索其首選項。

在這里遵循的最佳模式是什么?

一種選擇是使/user/preferences為管理員調用采用可選的?userid=參數。 然后,您可以基於admin == true && args[userid]使用相同的端點和分支。

在不太具體的調用( /user/preferences )調用更具體的端點( /user/{userid}/preferences )的情況下,對代理api端點的注釋也很好。

都是不錯的選擇。 很多人將所有admin調用放在/admin/...並添加一個處理程序以確認呼叫者實際上是admin,然后再路由到常規調用( /admin/users/preferences >驗證is_admin-> /users/preferences?userid=bob )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM