文章概述
【说明】
SpringBoot
整合knife4j
;- 包含该框架的一些基础内容;
- 此内容还有增强版和最终版;
- 此文无具体使用细节及解析;
框架基础
【简介】
- "Knife4j"是一款基于"Swagger 2"的在线API文档框架;
【依赖】
<!-- Knife4j Spring Boot:在线API --> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>2.0.9</version> </dependency>
- 说明:以上依赖项仅适用于
Spring Boot 2.6
(不含)之前的版本;
【配置】
项目配置:
# 开启Knife4j增强模式 knife4j.enable=true
配置大类:
【类名】:Knife4jConfiguration
/** * Knife4j配置类 * * @author SUNxRUN * @version 0.0.1 */ @Slf4j @Configuration @EnableSwagger2WebMvc public class Knife4jConfiguration { /** * 【重要】指定Controller包路径 */ private String basePackage = "略"; /** * 分组名称 */ private String groupName = "略"; /** * 【主页】题目 */ private String title = "在线API文档"; /** * 【主页】简介 */ private String description = "前后交互"; /** * 【主页】作者 */ private String contactName = "SUNxRUN"; /** * 【主页】版本 */ private String version = "1.0.0"; /** * 【主机】host */ private String host = "http://localhost:9081"; /** * 【主页】服务URL */ private String termsOfServiceUrl = "http://www.apache.org/licenses/LICENSE-2.0"; /** * 联系网址 */ private String contactUrl = "略"; /** * 联系邮箱 */ private String contactEmail = "略"; @Autowired private OpenApiExtensionResolver openApiExtensionResolver; public Knife4jConfiguration() { log.debug("【配置类】Knife4jConfiguration-----已运行"); } @Bean public Docket docket() { String groupName = "1.0.0"; Docket docket = new Docket(DocumentationType.SWAGGER_2) .host(host) .apiInfo(apiInfo()) .groupName(groupName) .select() .apis(RequestHandlerSelectors.basePackage(basePackage)) .paths(PathSelectors.any()) .build() .extensions(openApiExtensionResolver.buildExtensions(groupName)); return docket; } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title(title) .description(description) .termsOfServiceUrl(termsOfServiceUrl) .contact(new Contact(contactName, contactUrl, contactEmail)) .version(version) .build(); } }
【访问】
- 打开浏览器,输入"http://localhost:9081/doc.html "即可实现访问;