2017-02-08 39 views
0

我正在構建REST API,我想知道什麼是URI最佳實踐。我有「用戶」實體,它們具有唯一的電子郵件和ID。然後,我可以獲取使用該路由的用戶:REST API路由URI - 按ID或自定義字段獲取

GET /users/{id} 
GET /users/{email} 

我應該暴露以便通過ID或電子郵件來獲取任一2條型動物路線?

我查看了Github API,他們使用一些資源的字段標識符(/:owner /:repo)和其他編號。

+0

我會說這更像是一個用例決定 - 如果您希望或需要根據id和電子郵件獲取用戶的能力,那麼只需繼續並實施兩者。對你來說,實施和維護工作稍微多一些,但是給你更多的靈活性。 – Chris

回答

0

我通常對我的REST API端點所做的工作是取記錄的ID並對其進行編碼(散列)。

在節點A大文庫是hashids:
https://www.npmjs.com/package/hashids

例如:
GET /用戶/ 1

變爲:
GET /用戶/ o2fXhV

這完全取決於你希望你的端點是什麼。許多大公司使用不同的命名約定。選擇適合你的東西。

+0

嗨,我只想知道是否有一個好的做法,允許用戶使用2個不同的URI獲取相同的資源。 示例:GET/users/123 - GET /users/[email protected] –