2.基于SpringBoot3集成SpringDoc Swagger3

1. 引入依赖

我们在build.gradle中引入依赖

implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.1.0'
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-api:2.1.0'

2. 新增SpringDocConfig.java文件

@Configuration
public class SpringDocConfig {
    
    

	@Bean
	public GroupedOpenApi userApi() {
    
    
		return GroupedOpenApi.builder()
				.group("public")
				// 指定路径
				.pathsToMatch("/**")
				// 指定特定的 API 文档信息
				.addOpenApiCustomizer(userApiCustomizer())
				.build();
	}

	/**
	 * 定义 OpenApiCustomizer ,用于指定的 group
	 * @return
	 */
	public OpenApiCustomizer userApiCustomizer() {
    
    
		return openApi -> openApi.info(new io.swagger.v3.oas.models.info.Info()
				.title("Cloud API文档")
				.version("1.0")
				.contact(new io.swagger.v3.oas.models.info.Contact().name("").email("")))
				// 接口增加权限校验,如果接口需要,添加 security = { @SecurityRequirement(name = "token")}即可
				.components(new Components().addSecuritySchemes("token", new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("bearer").bearerFormat("JWT")));
	}
}

3. 编写application-dev.yaml文件

springdoc:
  swagger-ui:
    # swagger-ui地址
    path: /springdoc/swagger-ui.html
    enabled: true
    # 配置本地访问页面
    #config-url: /springdoc/api-docs/swagger-config
    # 取消默认Swagger访问页面
    disable-swagger-default-url: true
    # 修复Failed to load remote configuration.
    url: /springdoc/api-docs
  api-docs:
    path: /springdoc/api-docs

4. 访问Swagger

http://localhost:8080/springdoc/swagger-ui.html

我们修改CloudClient中login方法如下,重启后看下授权区别

@PostMapping(value = "/login", produces = MediaType.APPLICATION_JSON_VALUE)
@Operation(summary = "登录", tags = "用户管理", security = {
    
     @SecurityRequirement(name = "token")})
ResponseVo login(@RequestBody UserInfoDto userInfoDto);

我们可以看到方法级别也加了锁,此时如果我们在最上面Authorize处输入token,则调用方法时也会默认传递token

欢迎关注公众号算法小生

猜你喜欢

转载自blog.csdn.net/SJshenjian/article/details/132383874