1

私のアプリケーションにはユーザーがいて、各ユーザーは電子メール アドレスによって一意に識別されるとします。その場合、自動インクリメント ID を主キーとして使用するのではなく、電子メールの自然キーを使用する方が理にかなっています。これは、ほとんどのシステムで一般的です。

それでは、REST API で、このように特定のユーザーにアクセスしてもよろしいでしょうか?

https://api.whatever.com/v1/users/john@smith.com

従来は の代わりにユーザー ID を使用してjohn@smith.comいましたが、私のアプリケーションでは、電子メール アドレスがユーザー アカウントの一意の識別子です。

あなたなら何を選びますか?電子メールを REST URL の自然キーとして使用するか、代わりに使用するユーザー ID フィールドを作成しますか?

4

2 に答える 2

3

ユーザーIDを使用します。個人とその電子メール アドレスは 1 対 1 の関係ではなく、ライフ サイクルも同じではないため、一方を他方の識別子として使用することはお勧めできません。

人々は複数のメールを持っているかもしれません。多分彼らは電子メールアカウントを持っていません (それは起こります)。たぶん、彼らはメールを変更します。電子メール アドレスをキーとして使用すると、後で問題が発生する可能性があります。

于 2014-11-26T17:42:23.283 に答える
1

URLエンコードする必要があります https://api.whatever.com/v1/users/john%40smith%2Ecom

それ以外の場合、ID による取得はメールよりも高速である可能性があり、API を別のアプリケーション担当者に公開したい場合があります。

于 2014-11-26T17:48:36.050 に答える