3

我正在使用 io.springfox springfox-boot-starterv 3.0.0,

根据文档,此 Spring Boot 设置将禁用 prod 的 swagger 端点:

@Configuration
@Profile({"!prod && swagger"})
public class SwaggerConfig implements WebMvcConfigurer {

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .useDefaultResponseMessages(false)
                .select()
                .apis(RequestHandlerSelectors.any())
                .build()
                .apiInfo(apiInfo());
    }

...

在 prod 上,确实缺少此处定义的 swagger 的自定义,但 Swagger UI端点仍然存在。我怎样才能/swagger-ui/完全抑制端点?我springfox.swagger-ui.enabled=false可以在 Spring Boot 应用程序配置中的某处设置属性吗?

4

2 回答 2

2

您可以使用以下属性禁用

springfox.documentation.enabled=false
于 2021-08-13T14:06:00.657 回答
0

如果您想完全删除与 swagger 相关的资源,请考虑在编译时执行。

如果您使用的是 Apache Maven,则很容易在 Maven 配置文件中控制依赖关系和运行时配置,例如swagger.

为生产而构建时,运行以下命令。

mvn package -Pprod

// for dev stage.
mvn clean spring-boot:run -Pdev,swagger

我的例子有点老了,它使用 Maven 来控制不同阶段的不同配置。

于 2021-03-12T09:08:37.043 回答