当前位置: 首页 > news >正文

Knife4j文档的会被全局异常处理器拦截的问题解决

一、发现问题

在SpringBoot 3.4.5中,还有knife4j-openapi3的版本中,doc.html会被拦截器拦截

问题背景

介绍Knife4j文档的基本功能及其在API文档生成中的重要性。阐述全局异常处理器的概念及其在Spring Boot项目中的作用。提出Knife4j文档在某些情况下会被全局异常处理器拦截的问题。

问题分析

分析Knife4j文档被全局异常处理器拦截的原因。探讨全局异常处理器的配置方式及其对Knife4j文档的影响。讨论常见的异常处理策略及其对API文档生成的影响。

解决方案

提供解决Knife4j文档被全局异常处理器拦截的具体方法。介绍如何通过配置全局异常处理器来排除Knife4j文档的路径。讨论如何通过自定义异常处理逻辑来避免对Knife4j文档的干扰。

二、代码示例

1、在全局异常处理器加上@Hidden

/*** 全局异常处理器*/
@RestControllerAdvice
@Hidden
public class GlobalExceptionHandler {@ExceptionHandler(BusinessException.class)public BaseResponse<?> businessExceptionHandler(BusinessException e) {
//        log.error("BusinessException", e);return Result.error(e.getCode(), e.getMessage());}@ExceptionHandler(RuntimeException.class)public BaseResponse<?> runtimeExceptionHandler(RuntimeException e) {
//        log.error("RuntimeException", e);return Result.error(ErrorCode.SYSTEM_ERROR, "系统错误");}}

2、WebMVCConfig中设置拦截的路径,还有加上加上静态访问资源

@Configuration
@RequiredArgsConstructor
public class WebMvcConfig implements WebMvcConfigurer {private final AuthenticationInterceptor authenticationInterceptor;@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(this.authenticationInterceptor).excludePathPatterns(// Knife4j 文档相关"/doc.html/**",           // 文档页面"/webjars/**",            // 静态资源"/swagger-resources/**",  // Swagger 资源"/v3/api-docs/**",        // OpenAPI 规范端点"/favicon.ico"            // 网站图标).excludePathPatterns("/user/register/**","/user/login/**");}@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {//配置拦截器访问静态资源registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/favicon.ico").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}}

相关文章:

  • 三个线程 a、b、c 并发运行,b,c 需要 a 线程的数据如何解决
  • Edu教育邮箱申请成功下号
  • SSTI模版注入
  • 【日撸 Java 三百行】Day 9(While语句)
  • 让模型具备“道生一,一生二,二生三,三生万物”的现实实用主义能力
  • SPL量化---SMA(算术移动平均)
  • LLM 推理加速:深度解析 Prefilling 与 Decoding 阶段的优化秘籍
  • 全球首套100米分辨率城市与农村居住区栅格数据(2000-2020)
  • Gradio launch() 方法所有参数说明
  • Missashe计网复习笔记(随时更新)
  • python连接sqllite数据库工具类
  • 运维体系架构规划
  • 执梦为楫,共启中医传承新篇
  • SpringAI框架中的RAG知识库检索与增强生成模型详解
  • RAG 技术详解:如何让大模型更 “懂” 知识库?
  • O2O上门服务如何颠覆传统足浴行业?真实案例分析
  • 5 种距离算法总结!!
  • 详解 c++17 重载类 overload的每一条语句,附实例.
  • LintCode1343-两字符串和,1535-转换成小写字母
  • 强化学习三大基本方法-DP、MC、TD
  • 湖南省职业病防治院通报3岁女童确诊“铊中毒”:去年病例,编辑误写为“近日”
  • 长江画派创始人之一、美术家鲁慕迅逝世,享年98岁
  • 经彩申城!上海网络大V沙龙活动走进闵行
  • 东亚社会的“苦难诗学”:从《苦尽柑来遇见你》说起
  • 马上评|持续对标国际一流,才有22项“全球最优”
  • 国铁集团:铁路五一假期运输收官,多项运输指标创历史新高