swagger配置及升级版swagger-bootstrap-ui配置+访问账号密码登录限制

15 篇文章 1 订阅
订阅专栏

本文主要介绍swagger-ui及加强版swagger-bootstrap-ui配置

一:普通swagger-ui配置

1:pom添加依赖

<!--swagger-->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.6.1</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.6.1</version>
</dependency>

2:添加配置类SwaggerConfig:

import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.XXX.web.controller"))//扫描包范围
                .paths(PathSelectors.any())
                .build();
    }

    /**
     * API 说明,包含作者、简介、版本、host、服务URL
     */
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder().title("XXXAPI文档")
                .description("XXXAPI文档")
                //.contact(new Contact("API文档", "http://www.XXX.com/", "xxx@qq.com"))//作者信息
                //.version("1.0")//定义api 版本号
                .build();
    }
}

3:如果有登录验证等拦截器,如下资源需要放行

registry.addResourceHandler("swagger-ui.html")
        .addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
        .addResourceLocations("classpath:/META-INF/resources/webjars/");

4:Controller添加如下swagger 注解即可

//类注解:
@Api(tags = "1.0",value = "account",description = "账户Controller")

//方法注解:
    @ApiOperation(value = "用户账户", notes = "提现列表",httpMethod = "POST")
    @ApiImplicitParam(name = "userId", value = "userId", required = true)

在这里插入图片描述

5:访问地址

ip:port/swagger-ui.html

1

二:加强版swagger-bootstrap-ui配置

swagger-bootstrap-ui相比swagger-ui更加强大,提供测试及账号密码验证登录等配置,个人觉得文档页面样式更加简洁明了
配置方式基本与swagger-ui一致

1:修改pom依赖

<!--swagger-->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.6.1</version>
</dependency>
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>swagger-bootstrap-ui</artifactId>
    <version>1.9.6</version>
</dependency>

2:添加配置类SwaggerConfig:在swagger-ui基础上只是多了@EnableSwaggerBootstrapUI类注解

import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
@EnableSwaggerBootstrapUI
public class SwaggerConfig {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.XXX.web.controller"))//扫描包范围
                .paths(PathSelectors.any())
                .build();
    }

    /**
     * API 说明,包含作者、简介、版本、host、服务URL
     */
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder().title("XXXAPI文档")
                .description("XXXAPI文档")
                //.contact(new Contact("API文档", "http://www.XXX.com/", "xxx@qq.com"))//作者信息
                //.version("1.0")//定义api 版本号
                .build();
    }
}

3:配置文件添加接口文档访问自定义账号密码(本文为yml格式)

#配置swagger登陆验证
swagger:
  production: false
  basic:
    enable: true
    username: xxx
    password: xxx

4:修改拦截器等放行资源

registry.addResourceHandler("doc.html")
        .addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
        .addResourceLocations("classpath:/META-INF/resources/webjars/");

5:访问地址

ip:port/doc.html

账号密码即为3中所配置username及password

swagger-bootstrap-ui 访问权限控制
八一菜刀的专栏
04-25 1万+
在开发SwaggerBootstrapUi功能时,同很多开发者经常讨论的问题就是在生产环境时,屏蔽或者去除Swagger的文档很麻烦 ,通常有时候我们碰到的问题如下: 系统部署生产环境时,我们想屏蔽Swagger的文档功能,不管是接口或者html文档 通常我们有时候需要生产环境部署后,又需要Swagger的文档调试功能,辅助开发者调试,但是存在安全隐患,没有对Swagger的资源接口过滤 等等 ...
手把手教你SpringBoot项目将Swagger升级3.0详解
最新发布
yonggeit的博客
08-16 422
这阵子观察到Swagger官方已经升级到了3.0的版本,想着升级体验一下最新的版本。
Swagger接口ui登录限制,安全.
baidu_25691461的博客
04-10 1014
Swagger接口ui登录限制,安全. 1.给Swagger页面配置登录账户密码 ----代码增加包 <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>swagger-bootstrap-ui</artifactId> <version>1.9.5</version>
SpringBoot配置Swagger开启页面访问限制
如果相遇,那么你好哦~
07-12 913
在Spring Boot项目中配置Swagger时,开启页面访问限制通常意味着你希望控制哪些用户或角色可以访问Swagger UI文档页面。由于Swagger UI是一个静态资源,它本身并不直接支持基于角色的访问控制(RBAC)。但是,你可以通过Spring Security来间接实现这一点。
SpringBoot - 集成Swagger2、Knife4j接口文档/升级版swagger-bootstrap-ui配置以及账号密码登录
Mr_Chp的博客
05-30 4294
Swagger UI添加登录权限
swagger-bootstrap-ui-1.9.6-API文档-中文版.zip
07-13
包含翻译后的API文档:swagger-bootstrap-ui-1.9.6-javadoc-API文档-中文(简体)版.zip; Maven坐标:com.github.xiaoymin:swagger-bootstrap-ui:1.9.6; 标签:github、xiaoymin、swaggerbootstrapui、中文文档...
swagger-bootstrap-ui-1.9.6-API文档-中英对照版.zip
07-13
包含翻译后的API文档:swagger-bootstrap-ui-1.9.6-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:com.github.xiaoymin:swagger-bootstrap-ui:1.9.6; 标签:github、xiaoymin、swaggerbootstrapui...
swagger-bootstrap-ui
05-21
Swagger Bootstrap UI 是一个基于Bootstrap框架对Swagger UI进行重新设计和增强的项目,旨在提供更加美观、易用且功能丰富的API文档界面。Swagger是业界广泛使用的API文档规范和工具,而Bootstrap则是流行的前端UI库...
swagger-bootstrap-uiSwagger-bootstrap-uiSwagger的前端UI实现,目的是替换Swagger的默认UI实现Swagger-UI,使文档更加友好...
02-25
swagger-bootstrap-ui 该项目在GitHub上停止更新,最新代码可在gitee上获取,网址为 另请在上提及新的PR和问题 英文介绍| 介绍 Swagger-bootstrap-UI是springfox-swagger的增强型UI实现,它使Java开发人员在使用...
在Spring Boot中使用swagger-bootstrap-ui的方法
08-28
在Spring Boot中使用swagger-bootstrap-ui的方法 Spring Boot是一款流行的Java框架,用于构建Web应用程序。swagger是一个流行的API文档生成工具,能够自动生成API文档。swagger-bootstrap-ui是基于swaggerUI组件...
java:springboot1.x/springboot2.x配置swagger2登录密码/设置swagger访问权限
热门推荐
smm的博客
04-12 1万+
java:springboot1.x/springboot2.x配置swagger2登录密码/设置swagger访问权限
springboot整合swagger-最新ui界面
qq_50523945的博客
06-15 3733
千万注意一点,这个只能是测试环境使用,千万不要放到正式环境。这个一定要注意!!!
【解决问题】在SpringBoot中通过配置Swagger权限解决Swagger未授权访问漏洞
招财猫_Martin 的专栏
10-08 5735
Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。若存在相关的配置缺陷,攻击者可以在未授权的状态下,翻查Swagger接口文档,得到系统功能API接口的详细参数,再构造参数发包,通过回显获取系统大量的敏感信息。在一个项目的实施过程中,客户通过安全检测发现了系统中swagger未进行授权导致调取到了项目上全部的api接口,并在接口中找到了默认的超级用户和密码,并通过修改超级用户密码成功登录到业务系统。以上2个方法选择其一,修改完成后,重启业务系统。
swagger2的包
dreamrealist的博客
03-17 421
<!-- swagger2--> <!--接口文档访问的页面--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</vers.
swagger添加访问密码
zlfjavahome的专栏
06-28 4954
swagger添加访问密码
Swagger文档在SpringBoot框架下的配置Swagger配置登录验证
无心
06-17 2657
【代码】Swagger文档在SpringBoot框架下的配置Swagger配置登录验证。
springboot 整合 swagger2 配置账号密码登录 demo代码
闲走天涯的博客
08-05 7495
一、pom文件引入swagger依赖 <!-- swagger2-restful接口测试 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version>
springfox-swagger-uiswagger-bootstrap-ui的区别
05-05
`springfox-swagger-ui` 和 `swagger-bootstrap-ui` 都是 Swagger UI 的实现,可以帮助开发人员快速构建和测试 RESTful API 接口文档。 但它们之间的区别在于: 1. **UI 风格不同**:`springfox-swagger-ui` 风格较为简洁,`swagger-bootstrap-ui` 则更注重美观和易用性。 2. **依赖不同**:`springfox-swagger-ui` 是 Springfox 的一部分,需要引入 `springfox-swagger2` 和 `springfox-swagger-ui` 两个依赖才能使用;而 `swagger-bootstrap-ui` 则是一个独立的项目,可以直接引入。 3. **配置方式不同**:在 Spring Boot 中,`springfox-swagger-ui` 的配置可以通过 `application.properties` 或者 `application.yml` 文件进行配置;而 `swagger-bootstrap-ui` 则需要在代码中进行配置。 综上所述,选择哪一个实现取决于个人的喜好和项目需求。如果你更注重简洁和易用性,可以选择 `springfox-swagger-ui`;如果你更注重美观和自定义能力,可以选择 `swagger-bootstrap-ui`。
写文章

热门文章

  • springboot返回文件的两种方式 22537
  • MIUI刷第三方rec教程(回退系统) 13277
  • knife4j ui页面不显示接口列表(swaggerUI页面没有显示api) 12013
  • gateway-nacos-knife4j整合加访问权限控制(详细教程适合新手入门) 7167
  • git远程仓库版本回退 5994

分类专栏

  • IO 2篇
  • RocketMQ 5篇
  • Java并发编程 10篇
  • java基础 15篇
  • java工具类 5篇
  • Mysql 12篇
  • SpringBoot 11篇
  • springboot项目学习 15篇
  • 工具 2篇
  • springcloud 1篇
  • kafka 1篇
  • 分布式 1篇
  • JVM 5篇
  • redis 3篇
  • linux 2篇
  • springCloudAlibaba 4篇
  • Shiro 5篇
  • Spring5 11篇
  • 项目排错 3篇
  • MIUI刷机教学 1篇
  • JavaWeb入门到实战 3篇
  • 测试技术 1篇

最新评论

  • knife4j ui页面不显示接口列表(swaggerUI页面没有显示api)

    No trace102: 这个坑我遇到了,注意看你的springBoot启动时候的告警信息,我之前是datatype告警,改成dataTypeClass告警消失了然后页面接口就可以显示了,而且发现3.0后版本,只要你有一个注解里面的内容写的不符合规范就导致整个swagger页面接口不显示,但是swagger页面可以进去

  • BeanUtils.copyProperties() 对比 mapstruct,你知道这两种是什么拷贝吗?

    FREE_GIFT_白给怪: 是的,你说的是对的,我写的有问题。抱歉

  • Kafka入门

    谢星星!: 很细啊!

  • knife4j ui页面不显示接口列表(swaggerUI页面没有显示api)

    转身遇见你: 改了还是没有用

  • knife4j ui页面不显示接口列表(swaggerUI页面没有显示api)

    eternity-永恒: 没用啊 改成自己的

最新文章

  • git远程仓库版本回退
  • idea必用插件
  • Eureka入门
2022年32篇
2021年43篇
2020年47篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家沈阳校园玻璃钢雕塑制作湛江玻璃钢卡通雕塑玻璃钢仿真水果雕塑生产厂家饮料瓶玻璃钢雕塑贵州玻璃钢仿铜雕塑定制江门发光动物玻璃钢雕塑宜春玻璃钢耕牛雕塑厂址保山玻璃钢浮雕人物山水雕塑连云港小品系列玻璃钢雕塑厂家新密知名玻璃钢卡通雕塑公司淮南玻璃钢雕塑加工荆门动物玻璃钢雕塑佳木斯商场美陈四川动物玻璃钢雕塑市场福建玻璃钢雕塑多少钱玻璃钢雕塑工艺品打磨修补招聘网黑龙江人物玻璃钢雕塑厂南开玻璃钢雕塑有哪些郑州玻璃钢浮雕景观雕塑制作金山区镜面玻璃钢雕塑免费咨询中山玻璃钢景观雕塑品牌台州玻璃钢陶瓷雕塑制作陕西步行街玻璃钢雕塑供应商四川季节性商场美陈市场报价苏州玻璃钢花盆厂咸阳好看的玻璃钢雕塑厂家麻城玻璃钢浮雕人物山水雕塑河南泡沫玻璃钢雕塑定制商场门头美陈北京常见商场美陈销售厂家香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化