2016-01-24 12 views

答えて

7

エンティティレベルでRepositoryRestConfigurerAdapterを使用して設定できます。

@Configuration 
public class ExposeEntityIdRestConfiguration extends RepositoryRestConfigurerAdapter { 

    @Override 
    public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) { 
     config.exposeIdsFor(MyEntity.class); 
    } 
} 

あなたは春・データ・休息の原則不利に働いている、これを使用していることに注意してください - SDRは、リンクを使用してリソース間を移動することにより、APIを使用できるようにハイパーメディアを促進する - ここにあなたのリソースがで識別し、参照されていますリンクは不要となり、IDはもう必要ありません。クライアント上でIDを使用すると、リソースへのリンクを構築する複雑さがクライアントに押し上げられます。クライアントはこの知識に悩まされるべきではありません。

+4

一度にすべてのエンティティのIDを公開する方法はありますか?例えば、設定で設定しますか? – thorinkor

+0

すべてのエンティティに対して一度にどのように行うことができますか?私たちは、このモジュールが知らない多くのパッケージを持っています。 – BigDong

0

エンティティのIDを使用するのではなく、ハイパーメディアが提供するリンク参照を使用するのが最適な解決策です。 Spring Data Restで使用されているHALの仕様に従ってJSONを解析するだけで済みます。

関連する問題