簡體   English   中英

REST API 路由路徑 - 已驗證資源的最佳實踐?

[英]REST API ROUTE PATHS - best practice for authenticated resource?

我有一個用 Laravel 構建的 API,它可以與身份驗證令牌(護照包)一起使用。 我不清楚在經過身份驗證的會話中訪問資源的最佳實踐應該是什么。

讓我解釋。

假設我想以管理員身份查看用戶的訂單,我訪問: /v1/users/5/orders並且所有訂單都為 ID 5 的用戶列出。

但現在 ID 為 5 的用戶已通過身份驗證。 訪問他自己的訂單資源的 URL 應該是什么?

那會是: /v1/users/5/orders (並檢查它是管理員還是會話屬於 ID 為 5 的用戶)

/v1/my/orders

/v1/my-orders

/v1/orders (並使用用戶 5 的會話 ID,- 或在管理員時列出所有結果)

當在同一 URL 上可以列出訂單時,它只會變得混亂,因為管理員想要訪問它。 或者實際上是會話用戶想要看到它們。

我建議使用/v1/orders ,它將顯示基於權限的訂單集合: - 管理會話中的所有訂單 - 屬於經過身份驗證的用戶的訂單,如果是低權限用戶。

添加像/my/ordersmy-orders這樣的前綴不會帶來任何價值。

對於子集合,我將保留允許管理員訪問用戶訂單的路徑/v1/users/5/orders orders。

這是一個很好的教程,解釋了 API 資源命名: https : //restfulapi.net/resource-naming/

暫無
暫無

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

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