当前位置: 代码迷 >> 综合 >> day07-springboot集成swagger
  详细解决方案

day07-springboot集成swagger

热度:10   发布时间:2024-02-10 03:53:36.0

springboot集成swagger

先把一个测试项目整出来

  1. 先随便创建一个SpringBoot项目(带jar包springboot-web,war包项目),这里我使用idea创建
    在这里插入图片描述
  2. 到maven上找到swagger的jar包
    在这里插入图片描述
    在这里插入图片描述
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>3.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>3.0.0</version>
</dependency>
<!--注意:3.0版本swagger依赖需要-->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version>
</dependency>
  1. 随便创建一个/test/hello,无参的简易API接口
package com.kedaotest.gitstudy.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** 测试swagger的控制器层*/
@RequestMapping("/test")
@RestController
public class HelloController {@RequestMapping("/hello")public String hello(){return "hello";}
}
  1. 项目跑起来本地测一下
    在这里插入图片描述
  2. 导入swagger的相关依赖
    在这里插入图片描述
  3. 配置swagger的config配置
    在这里插入图片描述
package com.kedaotest.gitstudy.config;import org.springframework.context.annotation.Configuration;
import springfox.documentation.swagger2.annotations.EnableSwagger2;@Configuration
@EnableSwagger2  //开启swagger2
public class SwaggerConfig {
}
  1. 重启项目访问API, http://localhost:8080/swagger-ui.html,如果注入的swagger依赖版本是3.0.0版本的,访问, http://localhost:8080/swagger-ui/index.html
    在这里插入图片描述

正式配置Swagger

  1. 给Swagger添加Docket配置
    在这里插入图片描述

    重启项目(不想多次重启的可以配置热部署)测试一下
    在这里插入图片描述

  2. 配置扫描接口
    在这里插入图片描述

  3. 配置是否启用swagger
    在这里插入图片描述

  4. eg:swagger只能在生产环境下使用,在发布环境下不能使用

    • 判断是否是生产环境flag = false(默认flag = true)
    • 使enable(flag)

    激活一个开发环境(端口号设置8081)
    在这里插入图片描述
    创建一个测试环境并设置端口号8082
    在这里插入图片描述
    测试代码

    // 设置要显示的Swagger环境
    Profiles profiles = Profiles.of("dev","test");// 获取项目的环境,acceptsProfiles监听自己环境是否被设置
    Boolean flag = environment.acceptsProfiles(profiles);
    
  5. 配置API文档分组
    在这里插入图片描述
    在这里插入图片描述
    随便创建其他几个API文档(Docket)
    在这里插入图片描述
    在这里插入图片描述

  6. swagger测试接口

    随便创建一个实体类和接口
    在这里插入图片描述
    在这里插入图片描述

    重启项目,进行测试
    在这里插入图片描述
    在这里插入图片描述

    点击Execute执行按钮
    在这里插入图片描述

Swagger总结

  • 可以随时更新Swagger文档
  • 可以测试后台接口(等同于postman)
  • 启动较慢
  • 注:正式上线,必须关掉Swagger