我已将spring-boot-starter-data-rest
和spring-boot-starter-data-hateoas
添加到项目的依赖项中。
但是,我还不想在生产机器上公开其余的api。
我正在寻找一种仅为一个特定配置文件启用其余端点的方法。
我已添加@SpringBootApplication (exclude = {RepositoryRestMvcAutoConfiguration.class})
并添加了配置
@Profile({"dev"})
@Configuration
@Import({RepositoryRestMvcAutoConfiguration.class,
PagedResourcesAssembler.class})
public class DevConfiguration extends RepositoryRestMvcConfiguration {
...
但这导致无处可去,因为我无法导入所有丢失的类。 我想避免生产两件文物
答案 0 :(得分:0)
您可以将Spring Data 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