knife4j 4.x版本集成springdoc配置swaggerConfig

在knife4j文档中并没有看到4.x版本该如何对swaggerConfig进行配置(配置作者,接口文档名称等),故编写此文以帮助更多的人。
废话少说,直接上代码

package com.lackoxy.wetop.config;

import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;

/**
 * @projectName: wetop
 * @package: com.lackoxy.wetop.config
 * @className: SwaggerConfig
 * @author: lackoxy
 * @description:
 * @date: 2024/4/19 16:05
 */
@Configuration
@Slf4j
public class SwaggerConfig {
    //配置开源协议
//    private License license() {
//        return new License()
//                .name("MIT") //开源协议种类
//                .url("https://opensource.org/licenses/MIT");
//    }

    private Info info(){
        return new Info()
                .title("xxx接口文档") //接口文档名称
                .description("xxx的接口文档") //描述
                .version("v0.1") //项目版本
                .contact(new Contact()
                        .name("作者") //作者
                        .url("github主页地址") //作者网址,可填写你的github主页
                        .email("email")); //邮箱
//              .license(license()); //开源协议
    }
    //额外信息配置 可配可不配
    private ExternalDocumentation externalDocumentation() {
        return new ExternalDocumentation()
                .description("代码仓库地址")
                .url("xxxx");
    }
    @Bean
    public OpenAPI springShopOpenAPI() {
        return new OpenAPI()
                .info(info())
                .externalDocs(externalDocumentation());
    }
}
### 集成 Knife4jSpringDoc 的方法 在 Spring Boot 项目中,可以通过集成 Knife4jSpringDoc 来增强 API 文档的功能。以下是实现这一目标的具体方式: #### 添加依赖项 为了支持 Knife4jSpringDoc,在项目的 `pom.xml` 文件中需引入以下 Maven 依赖项[^5]: ```xml <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-ui</artifactId> <version>1.6.9</version> </dependency> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>3.0.3</version> </dependency> ``` 上述配置中的版本号可以根据实际需求调整。 --- #### 启用 Knife4j 功能 通过创建一个自定义的 Bean 定义来启用 Knife4j 增强功能。可以在配置类中添加如下代码片段[^6]: ```java import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.service.ApiInfo; @Configuration @EnableKnife4j public class SwaggerConfig { @Bean public ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Spring Boot RESTful APIs") .description("API Documentation Enhanced by Knife4j") .license("Apache License Version 2.0") .build(); } } ``` 此部分代码启用了 Knife4j 并设置了基础的 API 描述信息。 --- #### 调整 SpringDoc 设置 如果希望进一步定制化 OpenAPI 文档的行为,则可以修改 `application.properties` 或者 `application.yml` 中的相关属性。例如,设置文档的基础路径和分组策略[^7]: ```yaml springdoc: swagger-ui: path: /swagger-ui.html operationsSorter: alpha tagsSorter: alpha api-docs: groups-enabled: true ``` 以上 YAML 配置文件的内容用于指定 Swagger UI 页面的位置以及操作接口按字母顺序排列的方式。 --- #### 运行效果验证 完成上述步骤之后启动应用程序,访问 `/swagger-ui/index.html#/` 地址即可查看由 Knife4j 提供的改进版 API 文档界面。该页面不仅具备标准的 Swagger UI 特性,还增加了许多实用工具如请求参数校验、响应数据预览等功能[^8]。 --- ### 注意事项 尽管 Knife4j 是基于 Swagger 实现的一套扩展方案,但它与 SpringDoc 存在一定程度上的兼容性问题。因此建议开发者仔细测试两者组合后的表现是否满足预期,并及时更新至最新稳定版本以获得最佳体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值