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
欢迎关注公众号算法小生