2017-04-18 11 views
0

私はサイドプロジェクトとしてRESTful APIを設計しようとしています。すべてのAをBに関連付けるためのRESTful APIデザインアドバイス

私はまた、データベース

(私はNoSQLのデザインに新たなんだので、私は書類を設計する必要がありますどのように誤解を持っている場合、私は、助けを必要とする)ようにMongoDBを使用しています。

は、私は、ユーザーに関連付けられているすべての基を有するため、指定get呼び出しがありましたら、上記の例の場合

Event { 
    id: string 
    name: string 
    date: date 
    location: location 
    subgroups: group[] 
} 
Group { 
    id: string 
    owners: user[] 
    members: user[] 
    parentEvent: event 
    posts: post[] 
} 
User { 
    id: string 
    Name: string 
    attendingGroups: group[] 
    owningGroups: group[] 
} 
post { 
    id: string 
    parentgroup: Group 
} 
location { 
    id: string 
    city: string 
} 

私は次のように例の実体がありますか?

ユーザーを取得して、関連するグループを取得する必要がありますか?

答えて

0

どのように設計するかによって異なります。あなたはN + 1選択問題からあなたを救うために他のリソースにリソースを埋め込むことができますが、それには何の反対もありません。

Hal + json形式は、リソースを埋め込むべき形式です。

RESTでは、埋め込むかどうかに_embed = groupsパラメータを設定することもできます。

埋め込みまたは埋め込みは、アプリケーションのニーズに応じて異なりますが、埋め込み方法ではありません。グループを取得するには、/ groups?user = eralpbのようなフィルタを設計する必要があります。または、サブリソースも/ users/eralpb/groupsのように動作すると、私のグループだけが返されます。

+0

追加の読書をした後、私は最後のフォーマットを使用することに決めました!先端のおかげで – user2662520

関連する問題