SpringDoc也是 spring 社區(qū)維護的一個項目(非官方),幫助使用者將 swagger3 集成到 Spring 中。
也是用來在 Spring 中幫助開發(fā)者生成文檔,并可以輕松的在spring boot中使用。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.1.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.0.4</version>
</dependency>
@Configuration
public class OpenApiConfig {
@Bean
public OpenAPI mallTinyOpenAPI() {
return new OpenAPI()
.info(
new Info().title("SpringDoc API")
.description("SpringDoc API 演示")
.version("v1.0.0")
.license(new License().name("Apache 2.0")))
.externalDocs(new ExternalDocumentation()
.description("SpringBoot項目全套文檔"));
}
@Bean
public GroupedOpenApi account() {
return GroupedOpenApi.builder()
.group("A-User")
.displayName("A-User System")
.pathsToMatch("/api/**/SysUser/**")
.build();
}
@Bean
public GroupedOpenApi publicApi() {
return GroupedOpenApi.builder()
.group("brand")
.pathsToMatch("/api/**/message/**")
.build();
}
}
@RestController
@RequestMapping(value = "/api/{channel}/{version}/SysUser")
public interface UserSystemServer {
@PostMapping(value = "/code")
@Operation(summary = "管理員#發(fā)送驗證碼", description = "發(fā)送驗證碼", tags = {"Code Management"})
@Parameters(value = {
@Parameter(name = "version", description = "協(xié)議版本", example = "v1"),
@Parameter(name = "channel", description = "渠道", example = "web")
})
Result code(@PathVariable String channel,@PathVariable String version, @RequestBody Map<String, Object> account);
@ResponseBody
@PostMapping(value = "/add/user")
@Operation(summary = "新增用戶", description = "新增用戶", tags = {"User Management"})
@Parameters(value = {
@Parameter(name = "version", description = "協(xié)議版本", example = "v1"),
@Parameter(name = "channel", description = "渠道", example = "web")
})
Result addUser(@PathVariable String channel,@PathVariable String version, String name);
@ResponseBody
@PostMapping(value = "/del/user")
@Operation(summary = "刪除用戶", description = "刪除用戶", tags = {"User Management"})
@Parameters(value = {
@Parameter(name = "version", description = "協(xié)議版本", example = "v1"),
@Parameter(name = "channel", description = "渠道", example = "web")
})
Result delUser(@PathVariable String channel,@PathVariable String version, String name);
@ResponseBody
@PostMapping(value = "/update/user")
@Operation(summary = "編輯用戶", description = "編輯用戶", tags = {"User Management"})
@Parameters(value = {
@Parameter(name = "version", description = "協(xié)議版本", example = "v1"),
@Parameter(name = "channel", description = "渠道", example = "web")
})
Result updateUser(@PathVariable String channel,@PathVariable String version, @RequestBody Map<String, Object> account);
}
@RestController
public class SysUserController implements UserSystemServer {
@Override
public Result code(String channel, String version, Map<String, Object> account) {
return Result.ok().success("test");
}
@Override
public Result addUser(String channel, String version, String name) {
return Result.ok().success("test");
}
@Override
public Result delUser(String channel, String version, String name) {
return Result.ok().success("test");
}
@Override
public Result updateUser(String channel, String version, Map<String, Object> account) {
return Result.ok().success("test");
}
}
訪問:
因篇幅問題不能全部顯示,請點此查看更多更全內(nèi)容
Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號-2
違法及侵權(quán)請聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市萬商天勤律師事務(wù)所王興未律師提供法律服務(wù)