2017-02-10 4 views
0

私はspring-boot-starter-data-restspring-boot-starter-data-hateoasをプロジェクトの依存関係に追加しました。 しかし、私はまだ生産システム上に残りのAPIを公開したくありません。 私は特定の1つのプロファイルだけの残りのエンドポイントを有効にする方法を探しています。 は、私はすでに@SpringBootApplication (exclude = {RepositoryRestMvcAutoConfiguration.class})を追加し、私が行方不明報告されたすべてのクラスをインポートすることができなかったような構成Spring Data Rest:特定のプロファイルでのみ有効

@Profile({"dev"})              
@Configuration               
@Import({RepositoryRestMvcAutoConfiguration.class,      
PagedResourcesAssembler.class})           
public class DevConfiguration extends RepositoryRestMvcConfiguration { 
... 

しかし、どこに、これは有鉛を追加しました。 私はあなただけ@RepositoryRestResourceまたは@RestResourceでアノテートされているリポジトリを考慮に春データRESTを設定することができ、エクスポートフラグがfalseに設定されていない持っていない2つのアーティファクト

答えて

0

を生成するために避けるのが大好きです。それはそれらを公開しませんので、あなたの生産プロファイルにこれを追加することができます。

@Profile("prod") 
@Configuration 
public class RepositoryRestConfig extends RepositoryRestConfigurerAdapter { 
    @Override 
    public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) { 
     config.setRepositoryDetectionStrategy(RepositoryDetectionStrategy.RepositoryDetectionStrategies.ANNOTATED); 
    } 
} 

私はそれが2.5.0.RELEASE

+0

ヘッド紡糸により作られた 'RepositoryDe​​tectionStrategy'' ANNOTATED'の二重否定で追加されたと考えています。 私が最後にしたこと: すべてのリポジトリに '@RepositoryRestResource(exported = false)'というアノテーションをつけ、自分自身に基づいてBeanを作成しましたが、 '@Profile(" dev ")'でアノテーションを付けました オーバーライドされたメソッド'RepositoryDe​​tectionStrategy.RepositoryDe​​tectionStrategies.ALL'への検出戦略 これは以下のことを意味します:デフォルトでは、すべてのリポジトリは無効になっています。プロファイル "dev"を使用して、それらを有効にすることができます。 私はあなたが正しい道に私を導くように答えることを受け入れるでしょう! ありがとう! – CyclingSir

+0

すごく助かりました:)私のソリューションでは、アノテーションをリポジトリに追加する必要はありませんでしたが、それは最も侵入しにくい方法でしたが、どちらも同じ結果を達成します。 – nanodgb

関連する問題