SpringBoot集成Swagger
Swagger简介:
RestFul Api文档在线自动生成工具。可以在线测试API。
在项目中使用Swagger需要SpringBox:
- swagger2
- UI
SpringBoot 集成 Swagger2
- 新建SpringBoot Web项目
- 导入相关依赖
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
- 编写配置
package com.hx.tswagger.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.core.env.Profiles;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.ArrayList;
/**
* @Author: Huathy
* @ClassPath: com.hx.tswagger.config.SwaggerConfig
* @Date: 2021-02-11 11:10
* @Description:
*/
@Configuration //等同@Component
@EnableSwagger2
public class SwaggerConfig {
/**
* 配置多个分组
* 注意组名不可重名
* @return
*/
@Bean
public Docket docket1(){
return new Docket(DocumentationType.SWAGGER_2).groupName("xixi");
}
//配置Swagger的Docket的Bean实例
@Bean
public Docket docket(Environment environment){
Profiles profiles = Profiles.of("dev","test");
// boolean flag = environment.acceptsProfiles(profiles);
boolean flag = true;
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
//=====是否启用=====
//dev环境启用swagger
.enable(flag)
//配置api文档分组
.groupName("hello")
//=====以下是扫描配置=====
.select()
/*
* RequestHandlerSelectors配置扫描接口方式
* .basePackage():指定扫描包
* .any():扫描全部
* .none():都不扫描
* .withClassAnnotation():扫描类上的注解
* .withMethodAnnotation():扫描方法上的注解
* 参数:注解类的class。eg:GetMapping.class
*/
.apis(RequestHandlerSelectors.basePackage("com.hx.tswagger.controller"))
//过滤
//.paths(PathSelectors.ant("/hx/**"))
.build();
}
//配置swagger的信息=apiInfo
private ApiInfo apiInfo(){
//作者信息
Contact contact = new Contact("Huathy", "https://blog.csdn.net/qq_40366738", "huathy@qq.com");
return new ApiInfo("标题:Swagger Demo",
"描述:Swagger描述",
"V1.0",
"https://www.baidu.com/s?wd=huathy",
contact,
"Apache 2.0",
"http://www.apache.org/licenses/LICENSE-2.0", new ArrayList());
}
}
- 编码测试运行:
http://localhost:8080/swagger-ui.html

配置Swagger
Swagger的bean实例Docket。
- 配置apiInfo:Docket.apiInfo();
- 配置扫描接口:Docket.select();
本文来自博客园,作者:Huathy,遵循 CC 4.0 BY-NC-SA 版权协议。转载请注明原文链接:https://www.cnblogs.com/huathy/p/17253832.html

浙公网安备 33010602011771号