前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JeecgBoot 如何在生产环境关闭 Swagger 文档

JeecgBoot 如何在生产环境关闭 Swagger 文档

原创
作者头像
JEECG
发布2024-08-14 19:54:36
1460
发布2024-08-14 19:54:36

为了生产安全,我们需要在生产环境关闭 JeecgBoot 的 Swagger 文档功能。

介绍

JeecgBoot 作为一个低代码开发平台,可以自动生成 OpenAPI 标准的 RESTful 协议的接口文档,方便前后端分离式的开发模式,进行前后端对接,以及接口调试。

不过由于该开发通常情况下来说,仅限于开发环境、测试环境,不适用于生产环境、线上环境等,因为该文档存在暴露系统内部信息的风险,一旦被有心之人利用,有可能会造成生产危机。

所以本文将为大家介绍,如何在 JeecgBoot 框架中,在生产环境对接口文档进行快捷禁用。

单体模式

JeecgBoot 框架默认提供了三种 profile 的配置文件,分别是 dev、test、prod,分别对应开发环境、测试环境、生产环境,在 prod 配置文件中配置了用于关闭 swagger 接口文档的配置

代码语言:javascript
复制
knife4j.production=true

另外还有一个共用的 application.yml 配置文件,其中有一个 spring.profiles.active 的配置项,通过修改该值,即可指定当前系统采用什么模式启动。

不过我们可以看到默认值为 @profile.name@,这是 JeecgBoot 为了方便大家在进行 maven 打包时指定以什么模式打包,而不需要去修改配置文件中的配置项。

在图的右上方我们可以看到 maven 工具面板上 profile 栏中,列举了 dev、test、prod 共 4 个 profile,我们可以选择其中一个进行打勾,再点击下方 clean 命令、package 命令即可。

最后,启动运行后,我们再尝试访问接口文档地址:

http://localhost:8080/jeecg-boot/doc.html

发现页面的无法响应,不再是接口文档,而是一个没有任何接口信息的白页。

微服务模式

在微服务模式中,完全继承单体模式的关闭接口文档的配置,不过不同的是,由于微服务模式下服务数量不可估量,如果有 N 个服务,那就会有 N 个服务的接口文档地址,这样使用下来,未免太可繁琐。 JeecgBoot 考虑到了这点,结合微服务模式中的 gateway 服务,将所有子服务的接口文档进行聚合,聚合后可通过一个地址即可访问所有服务的接口文档。

不过也正是因为这个功能,所以我们在关闭接口文档时,除了沿用单体模式的操作之外,也需要额外多加一个针对 gateway 服务的处理,需要在 gateway 服务的配置文件中,添加配置。

代码语言:javascript
复制
knife4j.production=true

再次访问聚合接口文档地址: http://localhost:9999/doc.html

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 单体模式
  • 微服务模式
相关产品与服务
腾讯云微搭低代码
微搭低代码是一个高性能的低代码开发平台,用户可通过拖拽式开发,可视化配置构建 PC Web、H5 和小程序应用。 支持打通企业内部数据,轻松实现企业微信管理、工作流、消息推送、用户权限等能力,实现企业内部系统管理。 连接微信生态,和微信支付、腾讯会议,腾讯文档等腾讯 SaaS 产品深度打通,支持原生小程序,助力企业内外部运营协同和营销管理。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档