1、引入POM依赖

  1. <properties>
  2. <swagger-annotations.version>1.5.13</swagger-annotations.version>
  3. <springfox-swagger.version>2.7.0</springfox-swagger.version>
  4. </properties>
  5.  
  6. <dependencyManagement>
  7. <dependencies>
  8. <dependency>
  9. <groupId>io.swagger</groupId>
  10. <artifactId>swagger-annotations</artifactId>
  11. <version>${swagger-annotations.version}</version>
  12. </dependency>
  13. <dependency>
  14. <groupId>io.springfox</groupId>
  15. <artifactId>springfox-swagger-ui</artifactId>
  16. <version>${springfox-swagger.version}</version>
  17. </dependency>
  18. <dependency>
  19. <groupId>io.springfox</groupId>
  20. <artifactId>springfox-swagger2</artifactId>
  21. <version>${springfox-swagger.version}</version>
  22. </dependency>
  23. </dependencies>
  24. </dependencyManagement>

2、装配swagger

  1. package com.tomato.boss.common.autoconfig;
  2.  
  3. import java.time.LocalDateTime;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6.  
  7. import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
  8. import org.springframework.boot.context.properties.ConfigurationProperties;
  9. import org.springframework.context.annotation.Bean;
  10. import org.springframework.context.annotation.Configuration;
  11.  
  12. import lombok.Getter;
  13. import lombok.Setter;
  14. import springfox.documentation.builders.ApiInfoBuilder;
  15. import springfox.documentation.builders.ParameterBuilder;
  16. import springfox.documentation.builders.PathSelectors;
  17. import springfox.documentation.builders.RequestHandlerSelectors;
  18. import springfox.documentation.schema.ModelRef;
  19. import springfox.documentation.service.ApiInfo;
  20. import springfox.documentation.service.Parameter;
  21. import springfox.documentation.spi.DocumentationType;
  22. import springfox.documentation.spring.web.plugins.Docket;
  23. import springfox.documentation.swagger2.annotations.EnableSwagger2;
  24.  
  25. @Configuration
  26. @EnableSwagger2
  27. @ConditionalOnProperty("swagger.conf.host")
  28. @ConfigurationProperties("swagger.conf")
  29. @Setter
  30. @Getter
  31. public class Swagger2AutoConfiguration {
  32. private String groupName;
  33. private String basePackage;
  34. private String title;
  35. private String host;
  36. private String desc;
  37. private String serviceUrl;
  38. private String version;
  39.  
  40. @Bean
  41. public Docket createRestApi() {
  42. // 添加header头
  43. List<Parameter> pars = new ArrayList<Parameter>() {
  44. private static final long serialVersionUID = 1L;
  45. { add(new ParameterBuilder().name("gsid").description("全局会话ID(open服务不需要)").modelRef(new ModelRef("string")).parameterType("header").required(false).build()); }
  46. };
  47.  
  48. return new Docket(DocumentationType.SWAGGER_2)
  49. .groupName(groupName)
  50. .apiInfo(apiInfo())
  51. .host(host)
  52. .select()
  53. .apis(RequestHandlerSelectors.basePackage(basePackage))
  54. .paths(PathSelectors.any())
  55. .build()
  56. .globalOperationParameters(pars);
  57. }
  58.  
  59. private ApiInfo apiInfo() {
  60. return new ApiInfoBuilder()
  61. .title(title)
  62. .description(desc)
  63. .termsOfServiceUrl(serviceUrl)
  64. .version(version + LocalDateTime.now())
  65. .build();
  66. }
  67. }

3、properties配置

  1. swagger.conf.desc=api地址:http://${swagger.conf.host}/
  2. swagger.conf.service-url=http://${swagger.conf.host}/
  3. swagger.conf.title=BOSS项目组${swagger.conf.group-name}接口
  4.  
  5. #注册中心列表直接跳转到swagger页面
  6. eureka.instance.status-page-url=http://${swagger.conf.host}/swagger-ui.html
  7.  
  8. swagger.conf.host=bosstest.xx.com/api/sso
  9. swagger.conf.group-name=boss-sso-rest
  10. swagger.conf.base-package=com.tomato.boss.sso.rest
  11. swagger.conf.version=1.0

当然,现在可以引入官方的start来自动注解

  1. <dependency>
  2. <groupId>com.spring4all</groupId>
  3. <artifactId>swagger-spring-boot-starter</artifactId>
  4. <version>1.7.0.RELEASE</version>
  5. </dependency>

当引入Zuul后可以在zuul层进行doc的集成,具体的实现方式可以参考:

https://my.oschina.net/didispace/blog/1818417

spring-boot 1.X集成swagger的更多相关文章

  1. 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 ...

  2. Spring boot 多模块项目 + Swagger 让你的API可视化

    Spring boot 多模块项目 + Swagger 让你的API可视化 前言 手写 Api 文档的几个痛点: 文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时. 接口返回结果不 ...

  3. spring boot / cloud (三) 集成springfox-swagger2构建在线API文档

    spring boot / cloud (三) 集成springfox-swagger2构建在线API文档 前言 不能同步更新API文档会有什么问题? 理想情况下,为所开发的服务编写接口文档,能提高与 ...

  4. Spring Boot HikariCP 一 ——集成多数据源

    其实这里介绍的东西主要是参考的另外一篇文章,数据库读写分离的. 参考文章就把链接贴出来,里面有那位的代码,简单明了https://gitee.com/comven/dynamic-datasource ...

  5. Spring Boot系列——如何集成Log4j2

    上篇<Spring Boot系列--日志配置>介绍了Spring Boot如何进行日志配置,日志系统用的是Spring Boot默认的LogBack. 事实上,除了使用默认的LogBack ...

  6. Spring Boot项目简单上手+swagger配置+项目发布(可能是史上最详细的)

    Spring Boot项目简单上手+swagger配置 1.项目实践 项目结构图 项目整体分为四部分:1.source code 2.sql-mapper 3.application.properti ...

  7. 【ELK】4.spring boot 2.X集成ES spring-data-ES 进行CRUD操作 完整版+kibana管理ES的index操作

    spring boot 2.X集成ES 进行CRUD操作  完整版 内容包括: ============================================================ ...

  8. 14、Spring Boot 2.x 集成 Druid 数据源

    14.Spring Boot 2.x 集成 Druid 数据源 完整源码: Spring-Boot-Demos

  9. 12、Spring Boot 2.x 集成 MongoDB

    1.12 Spring Boot 2.x 集成 MongoDB 完整源码: Spring-Boot-Demos

  10. 11、Spring Boot 2.x 集成 HBase

    1.11 Spring Boot 2.x 集成 HBase 完整源码: Spring-Boot-Demos

随机推荐

  1. Windows C#入门环境搭建

    Windows C#入门环境搭建 1. 安装Microsoft .NET Framework目录: C:\Windows\Microsoft.NET\Framework,查看已经安装的版本. 如果未安 ...

  2. Visual Studio快速调出异常设置

    使用快捷键:

  3. hdu 1548 升降梯

    题目大意:有一个升降机,它有两个按钮UP和DOWN,给你一些数i表示层数,并且每层对应的Ki,如果按UP按钮,会从第i层升到第i+Ki层:如果按了DOWN则会从第i层降到第i-Ki层:并规定能到的层数 ...

  4. canvas拖拽效果

    canvas拖拽和平时用的js拖拽是有区别的 普通的js是设置目标为绝对定位,再根据鼠标的移动来改变left和top的值 canvas是获得了鼠标的位置,直接在目标点进行重新绘制 下面给一个简单的拖拽 ...

  5. 配置apache和php mysql的一些问题

    关于"Windows不能在本地计算机启动Apache2.......并参考特定服务错误代码1"问题解决 apache的httpd.conf文件配置“LoadModule php5_ ...

  6. 练习|Django-单表

    结构目录 页面展示: 1创建Django,创建app01 在modules.py添加 class Book(models.Model): id=models.AutoField(primary_key ...

  7. pandas学习(常用数学统计方法总结、读取或保存数据、缺省值和异常值处理)

    pandas学习(常用数学统计方法总结.读取或保存数据.缺省值和异常值处理) 目录 常用数学统计方法总结 读取或保存数据 缺省值和异常值处理 常用数学统计方法总结 count 计算非NA值的数量 de ...

  8. golang实现分布式缓存笔记(一)基于http的缓存服务

    目录 前言 cache 缓存服务接口 cache包实现 golang http包使用介绍 hello.go Redirect.go http-cache-server 实现 cacheHandler ...

  9. js算法初窥03(搜索及去重算法)

    前面我们了解了一些常用的排序算法,那么这篇文章我们来看看搜索算法的一些简单实现,我们先来介绍一个我们在实际工作中一定用到过的搜索算法——顺序搜索. 1.顺序搜索 其实顺序搜索十分简单,我们还是以第一篇 ...

  10. C# 遍历控件 示例

    foreach(Control c in tabControl1.TabPages)//这个循环的意思是说,遍历tabControl1中所有的TabPages,TabPages是包含在tabContr ...