SpringBoot 集成 Swagger-Bootstrap-UI,页面更清爽!

swagger-bootstrap-ui:Swagger-bootstrap-ui是Swagger的前端UI实现,目的是替换Swagger的默认UI实现Swagger-UI,使文档更加友好... swagger-bootstrap-ui 该项目在GitHub上停止更新,最新代码可在gitee上获取,网址为 另请在上提及新的PR和问题 英文介绍| 介绍 Swagger-bootstrap-UI是springfox-swagger的增强型UI实现,它使Java开发人员在使用Swagger时可以获得简单而强大的界面文档体验 2.0: : 在线效果: : 项目演示: : 文件: : QQ通讯群:621154782 核 UI增强包包括两个核心功能:文档和在线调试 文档:根据Swagger的规范,列出了接口文档的详细说明,包括接口地址,类型,请求示例,请求参数,响应示例,响应参数,响应代码和其他信息。 通过使用swagger-bootstrap UI,它可以清楚地了解此接口的用法。 在线调试:提供强大的在线接口对齐功能,自动分析当前接口参数,同时包含表格验证,调用 立即下载

点击上方“芋道源码”,选择“设为星标”

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 8:55 更新文章,每天掉亿点点头发...

源码精品专栏

 

来源:sf.gg/a/1190000038170506

之前在创业公司待的时候,用过swagger,因为我第一天来这家公司工作,第一个任务就是做接口文档自动化。

后来觉得它不太好用,在浏览技术网站的时候,偶然发现swagger-bootstrap-ui,于是便重构了,把swagger-bootstrap-ui整合进来,后来发现不仅仅对我们后端有帮助,主要方便我们将接口进行归类,同样对安卓小伙伴也有帮助,他们可以看这个接口文档进行联调。当初我使用swagger-boostrap-ui的时候,那个时候还是1.x版本,如今swagger-bootsrap-ui到2.x,同时也更改名字knife4j,适用场景从过去的单体到微服务。也算是见证咱们国人自己的开源项目从小到大。

该开源项目GitHub地址:https://github.com/xiaoymin/S...

该开源项目中文文档地址: https://doc.xiaominfo.com/

一、添加Maven依赖

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

二、添加配置类

package com.blog.tutorial.config;
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;
/**
 * @description:
 * @author: youcong
 * @time: 2020/11/14 15:46
 */@Configuration
@EnableSwagger2
@EnableSwaggerBootstrapUI
public class SwaggerConfiguration {
    @Bean
 public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.blog.tutorial.controller"))
                .paths(PathSelectors.any())
                .build();
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("swagger-bootstrap-ui RESTful APIs")
                .description("swagger-bootstrap-ui")
                .termsOfServiceUrl("http://localhost:5050/")
                .contact("developer@mail.com")
                .version("1.0")
                .build();
    }
}

三、启动项目

启动项目,不报错,然后访问地址:http://ip:port/doc.html 即可

效果图,如下:

测试接口,效果图如下:

调式相当于用PostMan测试接口。

四、常用注解

和swagger一样,swagger用的注解,swagger-bootstrap-ui仍能用。不过结合我的开发经验来看,最常用的也就两个,@Api和@ApiOperation。@Api的效果,如图:

@ApiOperation的效果,如图:由此,我们很容易就看出来,它们的含义是什么,一个是接口分类说明,一个是接口方法说明。

至于这里不用swagger的参数注解,主要原因是不想加太多的注解从而增加代码的数量,造成太多冗余。

例子中的Controller代码:

package com.blog.tutorial.controller;
import com.blog.tutorial.entity.Users;
import com.blog.tutorial.service.UsersService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * @description:
 * @author: youcong
 * @time: 2020/11/14 13:27
 */@RestController
@RequestMapping("/user")
@Api(tags = {"用户管理"}, description = "用户管理")
public class UserController {
    @Autowired
 private UsersService usersService;
    @GetMapping("/list")
    @ApiOperation(value = "用户列表")
    public List<Users> list() {
        return usersService.list();
    }
}

五、其它

额外再推荐几篇 Swagger 相关的文章

不想用 Swagger?可以试试这个神器!

Swagger 自动生成 Dubbo 服务的接口文档,以及测试调用

芋道 Spring Boot API 接口文档 Swagger 入门

六、可能遇到的问题

1.访问不到接口文档界面白版

一般是被拦截了(shiro或springsecurity机制)或者是配置错误。

2.访问接口文档界面出来了,但扫描不到接口

主要是配置类的缘故,配置类有个包扫描,必须配置为controller路径。如图所示:

如果还有其它问题,可以去官方文档上找,官方文档有一个常规问题列表和解决方案,如图所示:

如果问题非常奇葩的话,实在解决不了(在参考官方文档说明和搜索的前提下,仍解决不了,把问题详细描述和关键性代码提到该开源项目的issue上,向创造者求助)。



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢:

已在知识星球更新源码解析如下:

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 20 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

兄弟,艿一口,点个赞!????

通过CN3口直接控制台达伺服电机A2-M(二) 既然可以通过RS485与伺服驱动器进行通讯,那么就肯定可以控制转速 首先,需要了解下 ‘控制模式及控制命令输入源设定’ 依据以上资料,速度控制模式有两种,S和SZ模式,分别对应模式选择中的02和04,对P1-01的地址0102进行写地址操作即可实现,一开始我使用了S模式,但是这个模式在寸动模式下会自动运转,不符合我控制的要求,后面改用SZ模式,就可以实现零速度。 使用串口工具发送命令:“01 06 01 02 00 04 28 35”即可以实现设置,设置完成后可以手动在伺服驱动器的按键面板上进行确 阅读详情

相关推荐

FPGA实战:基于Basys3的多功能数字钟设计与实现

本文详细介绍了基于Basys3开发板的多功能数字钟设计与实现过程,涵盖FPGA开发、SystemVerilog编程及7段数码管驱动等关键技术。通过模块化设计实现时钟分频、时间计数、按键处理等功能,并提供了优化显示驱动和调试技巧,帮助开发者快速掌握数字电路设计核心概念。

weixin_29186249的博客 659

SpringBoot集成Swagger-Bootstrap-UI,页面更清爽!

作者:youcongtechsegmentfault.com/a/1190000038170506之前在创业公司待的时候,用过swagger,因为我第一天来这家公司工作,第一个任务就是做...

emprere的博客 201

解决 python2.7中 ImportError: No module named Crypto.Signature

我的解决办法,先查看有没有安装 pip,直接执行pip 回车 没有出现null什么的就安装了,如果没有安装去其他博客哪里看一下,正常情况是默认就有的,然后使用。发现我自己也不会啊,就百度看看,想着网上的解决方法一大片,但是都是废话,能用的没有几个,而且能安装的没有几个。这个里面的python2、3就是系统里面的python版本,直接跟我这样就可以了除非版本不一样,也就是没有这个版本。就可以使用了,第一个应该是卸载之前的,然后重新安装,我的就是这样解决的。就比如我的,我现在使用的 python2.7。

记录一下 1611

Swagger-Bootstrap-UI

该UI增强包主要包括两大核心功能:文档说明 和 在线调试文档说明:根据Swagger的规范说明,详细列出接口文档的说明,包括接口地址、类型、请求示例、请求参数、响应示例、响应参数、响应码等信息,使用swagger-bootstrap-ui能根据该文档说明,对该接口的使用情况一目了然。

世上哪有什么岁月静好,不过是有人替你负重前行 4701

Ubuntu22.04安装ROS1

代表使用 2 线程进行编译,可以根据 CPU 适当调整。如果出现小乌龟窗口,说明安装成功 🎉!启动成功,则打开另一个终端,测试。需要解决一些兼容性问题,因为。由于 Ubuntu 22.04。过程,确保成功安装。

asafriend的博客 4648

【BlueDroid】【PBAP】蓝牙电话本协议之同步通讯录分析(超详细)

Header - Type = "x-bt/vcard-listing":代表了该Request对应的Function为PullvCardListing;Profile:PBAP (4),上层应用层协议为PBAP,OBEX协议的上层应用层协议除了PBAP,还有OPP、MAP协议;Response in Frame:该request frame-485对应的Response frame为489;在PBAP协议同步通讯录和通讯记录中,都是基于OBEX协议实现的,PBAP协议作为了应用层协议;

风云说通信 2074

一起来学 SpringBoot 2.x | 第十一篇:集成 Swagger 在线调试

点击上方“芋道源码”,选择“置顶公众号”技术文章第一时间送达!源码精品专栏 精尽 Dubbo 原理与源码 69 篇精尽 Netty 原理与源码 61 篇中文详细注释的开源...

芋道源码 396

Flutter框架GetX从入门到精通第二篇:路由管理-告别繁琐的Navigator

Flutter框架GetX从入门到精通第二篇:告别繁琐的Navigator。本系列将带你从零开始,一步步掌握 GetX 框架的核心功能与实战技巧。

鹏多多的博客 171

swagger-bootstrap-ui 介绍和使用

参考: https://doc.xiaominfo.com/guide/useful.html ## 简介 `swagger-bootstrap-ui` 是 `springfox-swagger` 的增强UI实现,为Java开发者在使用Swagger的时候,能拥有一份简洁、强大的接口文档体验 UI特点 以markdown形式展示文档,将文档的请求地址、类型、请求参数、示例、响应参数分层次依次...

魂-淡 1万+

2026年GESP3月认证C++五级真题解析

因为要合并成升序数组,所以当A[i]小于等于B[j]时,取A[i],否则取B[j]。当a[i]>a[j]时,左边数组中从i到m的所有元素都大于a[j],因此逆序对数量增加m-i+1。给定一个包含n个互不相同的正整数的数组A与一个包含m个互不相同的正整数的数组B,请你帮忙计算有多少个数在数组A与数组B中均出现。下面代码实现两个整数除法,其中被除数为一个“大整数”,用字符串表示,除数是一个小整数,用int表示,则横线处应该填写()。且a[i] > a[j],则a[i]和a[j]是一个逆序对。

lan_in的博客 120

车载软件刷写工具vFlash --- 自动化接口(Automation API)应用简介

车载软件刷写工具vFlash --- 自动化接口(Automation API)应用简介

Soly_kun的博客 362

springboot项目集成swagger-bootstrap-ui详细版

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。 作用:接口的文档在线自动生成,功能测试(特别是前后端分离项目,为与前端同学合作提供了很大的方便)。 本篇内容主要记录swagger配置,页面为swagger-bootstrap-ui 页面。 配置 第一步:配置pom.xm...

小栋哟 2万+

【GameFramework框架工具链】5-1、DataTable数据表 类自动生成工具

这个是跟【GameFramework框架内置模块】3、数据表(Data Table)模块配合使用的工具链。在使用数据表的时候,我们需要先准备数据表,每个数据表对应一个C#,C#对应表里面的字段,然后使用里面的信息,比如Music数据表ID int类型 IDAssetName string类型 资源名然后,根据数据表生成C#实体类,这一块有一个StarForce的工具链,我们来看一下如何使用。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 1266
上一篇: 【Spring】如何实现多数据源读写分离?这是我看过最详细的一篇!!
下一篇: Java 后端开发实践 - 项目模板
公众号-芋道源码
博客等级 码龄10年 1636粉丝 377原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值