2017-02-08 9 views
0

私はREST APIを構築しています。私はURIのベストプラクティスを知りたいと思います。私はユニークな電子メールとIDを持つ「ユーザー」エンティティを持っています。そして、私はこのルートを使用してユーザーをフェッチすることができますREST APIルートURI - IDまたはカスタムフィールドでフェッチする

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

私はどちらかIDまたは電子メールでフェッチするために、2つの貴様のルートを公開するべきでしょうか?

私はGithub APIを見て、いくつかのressources(/:owner /:repo)と他のID番号にField IDを使用しました。

+0

これは、ユースケースの決定のほうです。あなたがIDだけでなくメールに基づいてユーザーをフェッチする機能を必要としたい場合は、その両方を実装して実装する必要があります。これは実装と保守が多少なりとも手間がかかりますが、柔軟性が増します。 – Chris

答えて

0

REST APIのエンドポイントでは、通常、レコードのIDを取得してエンコード(ハッシュ)します。

ノードに大きなライブラリhashidsです:たとえば
https://www.npmjs.com/package/hashids


GET /ユーザー/ 1

は次のようになります。
GET /ユーザー/ o2fXhV

それはすべてが依存あなたのエンドポイントをどんなものにするか。多くの大企業は異なる命名規則を使用しています。あなたのために何が正しいかを選択してください。

+0

こんにちは、私はちょうどあなたが2つの異なるURIを使用して同じressourceをフェッチすることを許可する良い習慣があるかどうかを知りたいと思います。 例:GET/users/123 - GET /users/[email protected] –

関連する問題