9

私は最近、可能な限り RESTful に考えようとすることに夢中になっています。

この特定のケースでは、ユーザーのユーザー名と電子メールの可用性、または一意性を持つその他のものを確認するための RESTful な方法に興味があります。

GET私の直感は、必要なパラメーターを使用してon/users/emailまたは/users/username/eachを実行するかGET /users/search/、オプションのパラメーターを使用してemailandの行に沿って何かを実行したいことを教えてくれますusername。を取得した場合200usernameまたはemailは使用できません。を取得した場合は404、利用可能です。

私は最初のオプションの方がより明確なので好みますが、何をすべきかを十分に理解するために Roy Fielding の論文を熟読したわけではありません。

ここで最も健全なアプローチは何ですか?

4

4 に答える 4

7

最初のアプローチは、より「RESTful」なようです。特定のリソースを (ユーザー名または電子メールで) GET しようとし、それが存在する場合はそれを取得するか、「利用できないリソース」というステータス メッセージを取得します。これは:

  • GET /users/username/johnwayne (johnwayne リソース/ユーザー名の可用性を「取得」するため...)

これにより、次が生成されます。

  • 200: リソースが存在する場合
  • 404: リソースが存在しない場合

2 つ目は、いくつかの「パラメーター」(ユーザー名、電子メール) を使用して「関数」(/users/search/) を定義する「SOAP」のような Web サービスのように見えます...

于 2013-08-18T17:58:33.227 に答える
1

一意のフィールドの場合は、最初のオプション (/users/email または /users/username/) が適しています。一意でないフィールドの場合は、検索の方が適切です。

于 2013-08-19T00:34:37.037 に答える
0

メールでユーザーのリストを取得するようにしてください。

GET /users?query=asd@gmail.com

ここでは、1 個のアイテムまたは 0 個のアイテムを見つけることができます。最初のケースでは、アドレスは一意ではありません。別の - それはユニークです

于 2016-06-10T14:32:31.473 に答える