これらのユーザーが所有するユーザーとオブジェクトにアクセスするためのAPIを作成します。オブジェクトは、匿名で、著者によって、または何らかの種類の司会/監督によってアクセスできます。匿名/識別されたアクセス権を持つREST APIのための最適なURIスキーマは何ですか?
すべての3つの場合で、フィールドのセットは異なる場合もあります(または同じ場合もあります - まだ分かりません)。匿名と識別された許可モードでは少なくとも異なります。
我々は、ユーザ456を持っていると仮定しますと、このユーザーがオブジェクト123
を所有している主な質問は次のとおりです。この場合のための最高のURIスキーマは何 とそれぞれの長所と短所どのようなもの:
2番目の質問は次のとおりです。 これらのリソースは同じか、同じエンティティのリソースが異なりますか?彼らは異なるリソースであるかのように、匿名や識別されるアクセスのための
/objects.json?criteria=xyz&user=456 -- result depends on identity & "user" /objects/123.json -- result depends on identity /users/456.json
さまざまなURI:出力が不在または同一性の有無に応じて変化させて、すべてのオブジェクトの
一つのURI、
/objects.json?criteria=xyz -- anonymous only /objects/123.json -- anonymous only /users/456.json /users/456/objects.json -- identified only /users/456/objects/123.json -- identified only
他に何か?
UPD:ちょうど考案:
/objects/123 -- basic info, same for anonymous&identified
/objects/123/extra -- different kinds of extra info,
/objects/123/extended -- ... or extended representations,
/objects/123/meta -- ... only for authorized roles for each.
/objects?criteria=xyz -- common search for objects
/users/456/objects -- objects owned by user only
そして(リストはエントリポイントです)、どのようなリストに応じて使用され、公開中の余分なリソースのURIと、ユーザーごとのリストがあります。
このアプローチでは、リソースを指すURIがあり、要求元のユーザーの身元によって変わりません。しかし、我々は依然として、要求しているユーザに与える情報の部分や、要求していないユーザに与えてはいけない情報の部分を制御しています。また、URIは重複していません。完璧!
はい、あなたの更新されたURIのリストは意味があります。 –