2017-04-06 8 views
0

私は本当にHATEOASを愛することを大変に試みています。そのRESTリポジトリを持つSpring Bootは素晴らしいです。私はすべてをしたい。私は珍しいことではないはずの2つの要件があります。だから、どのように私は次の操作を行い実行します。私は2つの次のエンティティ持って考えると簡単な要求を解決するSpring Hateoasを愛する方法

@Entity() 
public class GameConsole{ 
    @Id 
    private String name; 
} 
@Entity() 
public Class Game{ 
    @Id 
    private String name; 
    @ManyToOne 
    private GameConsole gameConsole; 
} 

は、私はRESTリポジトリは2つのエンティティを露出していたと。

1 - どのように私は、ゲームの名前と1つの要求にコンソールの名前でテーブルのリストを生成します: - doesnの、どんなフレームワーク、jQueryの、角度を使用して/ゲーム GETから

リクエスト

| Game console | Game  | 
| PS4   | Uncharted | 
| XBOX   | HALO  | 

問題はgameConsoleの実際のIDのI /ゲームを照会するとき、私は/ゲーム/ハロー/ gameConsoleへのリンクがゲームのリストを取得することではなく、「tはちょうど次を移入、重要で。 これは、ゲームコンソール名を取得するために各項目をループして照会する必要があることを意味しますか?

2から

は、私は私のゲームを編集するためのWebページを持っていると言うことができますドロップダウンメニュー。ドロップダウンメニューを追加して、更新されたゲームコンソールを置いてみたいと思います。 ドロップダウンに入力するには、/ gameConsolesを照会し、コンソールのリストを取得します。 もう一度私の問題は、ゲームから得たIDが、/ game/halo/gameConsoleにリンクしていて、/ gameConsolesから返されたアイテムのいずれにも一致できないということです。

どうすれば解決できますか?

回答が簡単な場合は、忍耐力のある人に本当に感謝します。あなたは突起が働くことができる春データ休息の文脈では

答えて

0

- 投影を使用してsee here.

、あなたはかなりのリソースへのリンクを取得するよりも、あなたの参照されるオブジェクトを埋め込むことができます。

+0

プロジェクションはアイテムレベルで実行され、リストレベルでは実行されません。私が間違っていない限り。 – Rafael

+0

リストレベルで投影を使用することもできます。アプリで@RepositoryRestResourceアノテーションを使用する場合は、 "excerptProjection"オプションを設定することで、 "_embedded"にリストされている項目のデフォルト投影を定義することもできます。 – dcpastoors

関連する問題