【发布时间】:2018-09-19 13:44:31
【问题描述】:
我希望根据配置值在生产环境中禁用 swagger 功能/端点。
我该怎么做呢?
我认为实现这一点的最佳方法是在 DropWizard 应用程序首次启动时执行初始化方法期间不要添加捆绑包。
此解决方案的问题是您无法访问从 YAML/YML 文件中的值填充的配置获取方法。这些值在我们应用程序进入 run 方法时可用。
这是我在应用程序类中的初始化方法
@Override
public void initialize(Bootstrap<Configuration> bootstrap) {
LOGGER.debug("initialize");
bootstrap.setConfigurationSourceProvider(new SubstitutingSourceProvider(bootstrap.getConfigurationSourceProvider(),
new EnvironmentVariableSubstitutor(false)));
bootstrap.addBundle(new SwaggerBundle<Configuration>() {
@Override
protected SwaggerBundleConfiguration getSwaggerBundleConfiguration(Configuration configuration) {
return configuration.swaggerBundleConfiguration;
}
});
}
如果我需要澄清更多,请告诉我。
提前致谢。
【问题讨论】:
标签: java rest swagger dropwizard