Spring Data Rest:仅在特定配置文件中启用
Spring Data Rest: Enable at specific profile only
我已将 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 {
...
但这无济于事,因为我无法导入所有 类 报告的失踪。
我很想避免产生两个人工制品
您可以将 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
中添加的
我已将 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 {
...
但这无济于事,因为我无法导入所有 类 报告的失踪。 我很想避免产生两个人工制品
您可以将 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