2011-10-18 7 views
1

これらのユーザーが所有するユーザーとオブジェクトにアクセスするための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:出力が不在または同一性の有無に応じて変化させて、すべてのオブジェクトの

    1. 一つの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 
      
    2. 他に何か?

    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は重複していません。完璧!

  • +0

    はい、あなたの更新されたURIのリストは意味があります。 –

    答えて

    0

    質問が上記のUPDで回答されると仮定します。この疑似回答は質問を閉じることです。