2017-02-10 66 views
0

我已将spring-boot-starter-data-restspring-boot-starter-data-hateoas添加到我的项目的依赖项中。 但是,我不想在生产机器上公开其余的api。 我正在寻找一种仅为一个特定配置文件启用剩余端点的方法。 我已经添加@SpringBootApplication (exclude = {RepositoryRestMvcAutoConfiguration.class})和增加的配置Spring Data Rest:仅在特定配置文件中启用

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

但这含铅走不通,因为我无法导入所有类失踪。 我很想避免产生两个文物

回答

0

您可以配置Spring数据REST只考虑那些标注了@RepositoryRestResource@RestResource库和没有出口标志未设置为false。您可以添加到您的个人资料的生产,这样就不会暴露他们:

@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

相关问题