SpringDoc和Springboot整合


目录:

  1. SpringDoc简介
  2. 依赖
  3. 配置文件
  4. 配置类
  5. 接口
  6. 访问API页面

参考

SpringDoc简介

SpringDoc是一款可以结合SpringBoot使用的API文档生成工具,基于OpenAPI 3,目前在Github上已有1.7K+Star,更新发版还是挺勤快的,是一款更好用的Swagger库!值得一提的是SpringDoc不仅支持Spring WebMvc项目,还可以支持Spring WebFlux项目,甚至Spring Rest和Spring Native项目,总之非常强大,下面是一张SpringDoc的架构图:

SpringDoc的架构图

依赖

<!--springdoc 官方Starter -->
		<dependency>
			<groupId>org.springdoc</groupId>
			<artifactId>springdoc-openapi-ui</artifactId>
			<version>1.6.6</version>
		</dependency>

我使用的Springboot的版本是2.6.7

配置文件

server:
   port: 80
   servlet: 
   	context-path: /

springdoc:
  swagger-ui:
    # 修改Swagger UI路径
    path: /swagger-ui.html
    # 开启Swagger UI界面
    enabled: true
  api-docs:
    # 修改api-docs路径
    path: /v3/api-docs
    # 开启api-docs
    enabled: true
  # 配置需要生成接口文档的扫描包
  packages-to-scan: com.jason.controller
  # 配置需要生成接口文档的接口路径
  paths-to-match: /test/**,/admin/**

配置类

@Configuration
public class SpringDocConfig {
	
	/**
	 * 基本信息设置
	 * @return
	 */
	@Bean
	public OpenAPI mallTinyOpenAPI() {
		return new OpenAPI()
				.info(new Info().title("Test API").description("SpringDoc API 演示").version("v1.0.0")
						.license(new License().name("Apache 2.0").url("https://github.com/jason-qianhao")))
				.externalDocs(new ExternalDocumentation().description("Jason Blog")
						.url("http://jason-qianhao.github.io"));
	}

	/**
	 * 分组设置
	 * @return
	 */
	@Bean
	public GroupedOpenApi publicApi() {
		return GroupedOpenApi.builder().group("test").pathsToMatch("/test/**").build();
	}

	@Bean
	public GroupedOpenApi adminApi() {
		return GroupedOpenApi.builder().group("admin").pathsToMatch("/admin/**").build();
	}
}

接口

@Tag(name = "TestController", description = "测试SpringDoc")
@RestController
@RequestMapping("/test")
public class TestController {

	@Operation(summary = "test1", description = "进行SpringDoc的test1")
	@GetMapping("/test1")
	public String test1() {
		return "test1";
	}
	
	@Operation(summary = "test2", description = "进行SpringDoc的test2")
	@GetMapping("/test2")
	public String test2(@Parameter(description = "test2的参数") String param) {
		return "test2 ---" + param;
	}
}

访问API页面

启动项目,访问http://localhost/swagger-ui.html即可看到SpringDoc生成的API页面:

image-20220422150716829


文章作者: 小小千千
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 小小千千 !
评论
  目录