SpringBoot3整合Knife4j

SpringBoot3整合Knife4j

环境:jdk17、SpringBoot3.4.0、整合Knife4j4.5.0版本
1、pom中引入knife4j的依赖

        
        <dependency>
            <groupId>com.github.xiaoymingroupId>
            <artifactId>knife4j-openapi3-jakarta-spring-boot-starterartifactId>
            <version>4.5.0version>
        dependency>

2、yml中添加配置

# knife4j配置
springdoc:
  swagger-ui:
    path: /swagger-ui.html
    tags-sorter: alpha
    operations-sorter: alpha
  api-docs:
    path: /v3/api-docs
    enabled: true
  group-configs:
    - group: 'default'
      paths-to-match: '/**'
      packages-to-scan: com.shuhe
      display-name: "浙充值用户端"

3、添加以下两个配置类

package com.shuhe.config;


import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;


/**
 * SpringMvc配置类,注册web层相关组件
 */
@Configuration
@Slf4j
public class WebMvcConfig implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // 排除Knife4j和Swagger UI的路径
        String[] excludePatterns = new String[]{
                "/swagger-resources/**",
                "/webjars/**",
                "/v2/**",
                "/swagger-ui.html/**",
                "/api-docs",
                "/api-docs/**",
                "/doc.html/**"
        };
        registry.addInterceptor(new CustomInterceptor())
                .addPathPatterns("/**") // 拦截所有请求
                .excludePathPatterns(excludePatterns); // 排除上述路径
    }
}
package com.shuhe.config;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.HandlerInterceptor;

/**
 * 自定义拦截器
 */
@Configuration
public class CustomInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        // 添加拦截逻辑
        return true;
    }

}

4、启动类上添加@EnableWebMvc
5、实体类和控制器中添加注解:按alt+insert键,选3版本的swagger注解
SpringBoot3整合Knife4j_第1张图片
6、访问localhost:端口/swagger-ui.html即可
SpringBoot3整合Knife4j_第2张图片

你可能感兴趣的:(工作流,java,后端)