【Java框架】Knife4j(01)-简易版

文章概述

【说明】

  • 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();
    }

}

【访问】

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java Knife4j-Spring-Boot-Starter 是一个集成了 Swagger(一个用于API文档生成和管理的工具)的 Spring Boot Starter,用于简化在 Spring Boot 项目中集成 Swagger 的配置和使用。 Whitelabel Error Page 是 Spring Boot 提供的一个默认错误处理页面,用于在发生异常或错误时向用户展示错误信息。当没有自定义错误处理页面时,Spring Boot 会自动跳转至 Whitelabel Error Page。 在使用 Java Knife4j-Spring-Boot-Starter 集成 Swagger 时,可能会遇到 Whitelabel Error Page 的情况。这通常是因为配置的路径与已有的 Spring Boot 配置发生了冲突,导致请求无法正确路由到对应的 Controller。 解决这个问题的方法有两种: 1. 修改 Swagger 配置的路径:可以通过在 application.properties(或 application.yml)文件中修改 swagger.apiBasePackage 的值来更改 Swagger 的路径配置,确保与已有的配置不发生冲突。 2. 自定义错误处理页面:如果不希望使用默认的 Whitelabel Error Page,可以自定义一个错误处理页面来替代。可以通过编写一个继承自 ErrorController 的 Controller 类,并在其中自定义错误处理逻辑和返回页面。然后,在 application.properties(或 application.yml)文件中配置 spring.mvc.throw-exception-if-no-handler-found 和 spring.mvc.static-path-pattern 属性,将其设置为 false 和 /,以禁用 Spring Boot 的默认处理方式。 通过以上两种方法之一,可以解决 Java Knife4j-Spring-Boot-Starter 与 Whitelabel Error Page 的冲突问题,并能够正常使用 Swagger 生成和管理 API 文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SUNxRUN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值