• 【简记】SpringBoot禁用Swagger


    楔子

    Swagger 是 Java Web 开发中常用的接口文档生成类库,在开发和前后端联调时使用它来模拟接口调用能提高开发效率。但是,在生产环境可能并不需要它,一个原因是启用它会延长程序启动时间(动态解析代码中的注解来生成文档),另一个是安全问题(过不了漏洞扫描,需要鉴权访问或禁用掉)

    本文的目标就是禁用掉 Swagger,由于配置比较简单,笔者在本地已经实践通过了,直接记录在这里了。

    笔者测试版本基于 SpringBoot 2.4.6 + io.springfox:springfox-swagger2:3.0.0

    禁用方法

    yaml 配置方式:

    springfox:
      documentation:
        auto-startup: false
    

    properties 配置方式:

    springfox.documentation.auto-startup=false
    

    最佳实践

    说是最佳实践,其实是相对而言的。即通过SpringBoot的 配置覆盖/多环境配置文件 来实现。

    配置文件覆盖

    在默认的配置文件 application.{yaml|properties} 中添加禁用配置,然后在具体环境配置文件中覆盖它。

    比如,开发测试环境有个 application-dev.properties,在这个配置文件里可以设置开启

    springfox.documentation.auto-startup=true
    

    生产环境什么也不配置,走默认 application.properties(含禁用配置) 即禁用Swagger。

    多环境配置文件

    比如开发测试配置文件是 application-dev.properties,生产配置文件是 application-prod.properties,就可以只在 application-prod.properties 中添加禁用配置。

    以上两种方式都可以,看大家想使用哪种了。

    本文同步于本人博客园(hellxz.cnblogs.com) 与 CSDN(https://blog.csdn.net/u012586326),禁止转载。

  • 相关阅读:
    TypeScript 源码详细解读(3)词法2-标记解析
    TypeScript 源码详细解读(2)词法1-字符处理
    TypeScript 源码详细解读(1)总览
    7年编程语言设计精华总结——写给想创造或正在创造一门新编程语言的同学
    我为什么开发新语言
    CLR值类型和引用类型
    运行时内存模型
    IronPython之基本类型
    .NET 应用程序域?
    .NET程序如何启动?
  • 原文地址:https://www.cnblogs.com/hellxz/p/15838890.html
Copyright © 2020-2023  润新知