spring-boot 1.X集成swagger
1、引入POM依赖
- <properties>
- <swagger-annotations.version>1.5.13</swagger-annotations.version>
- <springfox-swagger.version>2.7.0</springfox-swagger.version>
- </properties>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>io.swagger</groupId>
- <artifactId>swagger-annotations</artifactId>
- <version>${swagger-annotations.version}</version>
- </dependency>
- <dependency>
- <groupId>io.springfox</groupId>
- <artifactId>springfox-swagger-ui</artifactId>
- <version>${springfox-swagger.version}</version>
- </dependency>
- <dependency>
- <groupId>io.springfox</groupId>
- <artifactId>springfox-swagger2</artifactId>
- <version>${springfox-swagger.version}</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
2、装配swagger
- package com.tomato.boss.common.autoconfig;
- import java.time.LocalDateTime;
- import java.util.ArrayList;
- import java.util.List;
- import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
- import org.springframework.boot.context.properties.ConfigurationProperties;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import lombok.Getter;
- import lombok.Setter;
- import springfox.documentation.builders.ApiInfoBuilder;
- import springfox.documentation.builders.ParameterBuilder;
- import springfox.documentation.builders.PathSelectors;
- import springfox.documentation.builders.RequestHandlerSelectors;
- import springfox.documentation.schema.ModelRef;
- import springfox.documentation.service.ApiInfo;
- import springfox.documentation.service.Parameter;
- import springfox.documentation.spi.DocumentationType;
- import springfox.documentation.spring.web.plugins.Docket;
- import springfox.documentation.swagger2.annotations.EnableSwagger2;
- @Configuration
- @EnableSwagger2
- @ConditionalOnProperty("swagger.conf.host")
- @ConfigurationProperties("swagger.conf")
- @Setter
- @Getter
- public class Swagger2AutoConfiguration {
- private String groupName;
- private String basePackage;
- private String title;
- private String host;
- private String desc;
- private String serviceUrl;
- private String version;
- @Bean
- public Docket createRestApi() {
- // 添加header头
- List<Parameter> pars = new ArrayList<Parameter>() {
- private static final long serialVersionUID = 1L;
- { add(new ParameterBuilder().name("gsid").description("全局会话ID(open服务不需要)").modelRef(new ModelRef("string")).parameterType("header").required(false).build()); }
- };
- return new Docket(DocumentationType.SWAGGER_2)
- .groupName(groupName)
- .apiInfo(apiInfo())
- .host(host)
- .select()
- .apis(RequestHandlerSelectors.basePackage(basePackage))
- .paths(PathSelectors.any())
- .build()
- .globalOperationParameters(pars);
- }
- private ApiInfo apiInfo() {
- return new ApiInfoBuilder()
- .title(title)
- .description(desc)
- .termsOfServiceUrl(serviceUrl)
- .version(version + LocalDateTime.now())
- .build();
- }
- }
3、properties配置
- swagger.conf.desc=api地址:http://${swagger.conf.host}/
- swagger.conf.service-url=http://${swagger.conf.host}/
- swagger.conf.title=BOSS项目组${swagger.conf.group-name}接口
- #注册中心列表直接跳转到swagger页面
- eureka.instance.status-page-url=http://${swagger.conf.host}/swagger-ui.html
- swagger.conf.host=bosstest.xx.com/api/sso
- swagger.conf.group-name=boss-sso-rest
- swagger.conf.base-package=com.tomato.boss.sso.rest
- swagger.conf.version=1.0
当然,现在可以引入官方的start来自动注解
- <dependency>
- <groupId>com.spring4all</groupId>
- <artifactId>swagger-spring-boot-starter</artifactId>
- <version>1.7.0.RELEASE</version>
- </dependency>
当引入Zuul后可以在zuul层进行doc的集成,具体的实现方式可以参考:
https://my.oschina.net/didispace/blog/1818417
spring-boot 1.X集成swagger的更多相关文章
- 15、Spring Boot 2.x 集成 Swagger UI
1.15.Spring Boot 2.x 集成 Swagger UI 完整源码: Spring-Boot-Demos 1.15.1 pom文件添加swagger包 <swagger2.versi ...
- Spring boot 多模块项目 + Swagger 让你的API可视化
Spring boot 多模块项目 + Swagger 让你的API可视化 前言 手写 Api 文档的几个痛点: 文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时. 接口返回结果不 ...
- spring boot / cloud (三) 集成springfox-swagger2构建在线API文档
spring boot / cloud (三) 集成springfox-swagger2构建在线API文档 前言 不能同步更新API文档会有什么问题? 理想情况下,为所开发的服务编写接口文档,能提高与 ...
- Spring Boot HikariCP 一 ——集成多数据源
其实这里介绍的东西主要是参考的另外一篇文章,数据库读写分离的. 参考文章就把链接贴出来,里面有那位的代码,简单明了https://gitee.com/comven/dynamic-datasource ...
- Spring Boot系列——如何集成Log4j2
上篇<Spring Boot系列--日志配置>介绍了Spring Boot如何进行日志配置,日志系统用的是Spring Boot默认的LogBack. 事实上,除了使用默认的LogBack ...
- Spring Boot项目简单上手+swagger配置+项目发布(可能是史上最详细的)
Spring Boot项目简单上手+swagger配置 1.项目实践 项目结构图 项目整体分为四部分:1.source code 2.sql-mapper 3.application.properti ...
- 【ELK】4.spring boot 2.X集成ES spring-data-ES 进行CRUD操作 完整版+kibana管理ES的index操作
spring boot 2.X集成ES 进行CRUD操作 完整版 内容包括: ============================================================ ...
- 14、Spring Boot 2.x 集成 Druid 数据源
14.Spring Boot 2.x 集成 Druid 数据源 完整源码: Spring-Boot-Demos
- 12、Spring Boot 2.x 集成 MongoDB
1.12 Spring Boot 2.x 集成 MongoDB 完整源码: Spring-Boot-Demos
- 11、Spring Boot 2.x 集成 HBase
1.11 Spring Boot 2.x 集成 HBase 完整源码: Spring-Boot-Demos
随机推荐
- Windows C#入门环境搭建
Windows C#入门环境搭建 1. 安装Microsoft .NET Framework目录: C:\Windows\Microsoft.NET\Framework,查看已经安装的版本. 如果未安 ...
- Visual Studio快速调出异常设置
使用快捷键:
- hdu 1548 升降梯
题目大意:有一个升降机,它有两个按钮UP和DOWN,给你一些数i表示层数,并且每层对应的Ki,如果按UP按钮,会从第i层升到第i+Ki层:如果按了DOWN则会从第i层降到第i-Ki层:并规定能到的层数 ...
- canvas拖拽效果
canvas拖拽和平时用的js拖拽是有区别的 普通的js是设置目标为绝对定位,再根据鼠标的移动来改变left和top的值 canvas是获得了鼠标的位置,直接在目标点进行重新绘制 下面给一个简单的拖拽 ...
- 配置apache和php mysql的一些问题
关于"Windows不能在本地计算机启动Apache2.......并参考特定服务错误代码1"问题解决 apache的httpd.conf文件配置“LoadModule php5_ ...
- 练习|Django-单表
结构目录 页面展示: 1创建Django,创建app01 在modules.py添加 class Book(models.Model): id=models.AutoField(primary_key ...
- pandas学习(常用数学统计方法总结、读取或保存数据、缺省值和异常值处理)
pandas学习(常用数学统计方法总结.读取或保存数据.缺省值和异常值处理) 目录 常用数学统计方法总结 读取或保存数据 缺省值和异常值处理 常用数学统计方法总结 count 计算非NA值的数量 de ...
- golang实现分布式缓存笔记(一)基于http的缓存服务
目录 前言 cache 缓存服务接口 cache包实现 golang http包使用介绍 hello.go Redirect.go http-cache-server 实现 cacheHandler ...
- js算法初窥03(搜索及去重算法)
前面我们了解了一些常用的排序算法,那么这篇文章我们来看看搜索算法的一些简单实现,我们先来介绍一个我们在实际工作中一定用到过的搜索算法——顺序搜索. 1.顺序搜索 其实顺序搜索十分简单,我们还是以第一篇 ...
- C# 遍历控件 示例
foreach(Control c in tabControl1.TabPages)//这个循环的意思是说,遍历tabControl1中所有的TabPages,TabPages是包含在tabContr ...