springboot中使用knife4j访问接口文档的一系列问题

简介: 本文作者是一位自学前端两年半的大一学生,分享了在Spring Boot项目中使用Knife4j遇到的问题及解决方案,包括解决Swagger请求404错误、JS错误等,详细介绍了依赖升级、注解替换及配置修改的方法。

springboot中使用knife4j访问接口文档的一系列问题

1.个人介绍

🎉🎉🎉欢迎来到我的博客,我是一名自学了2年半前端的大一学生,熟悉的技术是JavaScript与Vue.目前正在往全栈方向前进, 如果我的博客给您带来了帮助欢迎您关注我,我将会持续不断的更新文章!!!🙏🙏🙏

==页面打开显示文档请求错误请打开开发者工具查看具体原因==

2.Swagger请求not found 404

本人的解决方式是通过升级knife4j依赖解决的,具体解决办法如下

  1. 在各个pom.xml文件中替换掉knife4j的依赖

     <dependency>
             <groupId>com.github.xiaoymin</groupId>
             <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
             <version>${knife4j}</version>
     </dependency>
    

如果显示找不到knife4j的话就把他改成4.4.0

  1. 在主要的实体类中用Swagger 3注解替换掉Swagger 2注解,替换规则如下

     @Api(tags = “”)   →   @Tag(name = “”)
     @ApiModel(value=“”, description=“”)   →   @Schema(name=“”, description=“”)
     @ApiModelProperty(value = “”, required = true) → @Schema(name= “”, description = “”, required = true)
     @ApiOperation(value = “”, notes = “”) → @Operation(summary = “”, description = “”)
     @ApiParam → @Parameter
     @ApiResponse(code = 404, message = “”)   →   @ApiResponse(responseCode =404, description = “”)
    
  2. 修改配置类中的代码

     @Bean
     - public Docket docket() {
     -         ApiInfo apiInfo = new ApiInfoBuilder()
     -                .title("")
     -               .version("")
     -              .description("")
     -               .build();
     -       Docket docket = new Docket(DocumentationType.SWAGGER_2)
     -               .apiInfo(apiInfo)
     -               .select()
     -               .apis(RequestHandlerSelectors.basePackage("com.sky.controller"))
     -               .paths(PathSelectors.any())
     -               .build();
     -       return docket;
     + public OpenAPI publicAPI(){
     +    return new OpenAPI()
     +             .info(new Info()
     +                     .title("")
     +                     .description("")
     +                     .version("")
     +             );
     +  }
    

    大功告成🎉🎉🎉

3.报js错误

如果出现报js错误如:

在这里插入图片描述

原因应该是设置了消息装换器导致json数据没有被正常解析

==解决办法==

将消息转换器的代码删掉

/**
     * 扩展Spring MVC框架的消息转换器,统一处理日期类型的格式
     */
    protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
   
        log.info("扩展消息转换器...");
        //创建一个消息转换器对象
        MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
        //为消息转换器设置一个对象转换器,对象转换器可以将Java对象序列化为JSON数据
        converter.setObjectMapper(new JacksonObjectMapper());
        //将消息转换器加入容器中
        converters.add(0, converter);
    }

然后应该就可以正常显示了

结语

Hi👋,这里是瑞雨溪->一个喜欢JavaScript和Vue的大学生,如果我的文章给你带来的帮助,欢迎您关注我->我会持续不断的更新更多优质文章.你的关注就是我的动力!!!🎉🎉🎉

相关文章
|
6月前
|
XML Java 测试技术
【二】springboot整合自定义swagger
【二】springboot整合自定义swagger
73 0
|
JSON 前端开发 Java
Springboot中整合knife4j接口文档
Springboot中整合knife4j接口文档
476 0
|
13天前
|
JSON JavaScript 前端开发
springboot中使用knife4j访问接口文档的一系列问题
本文介绍了在Spring Boot项目中使用Knife4j访问接口文档时遇到的一系列问题及其解决方案。作者首先介绍了自己是一名自学前端的大一学生,熟悉JavaScript和Vue,正在向全栈方向发展。接着详细说明了如何解决Swagger请求404错误,包括升级Knife4j依赖、替换Swagger 2注解为Swagger 3注解以及修改配置类中的代码。最后,针对报JS错误的问题,提供了删除消息转换器代码的解决方法。希望这些内容能对读者有所帮助。
|
3月前
|
Java
SpringBoot 配置 Swagger
SpringBoot 配置 Swagger
40 0
|
6月前
|
前端开发 Java
springboot集成knife4j接口文档
springboot集成knife4j接口文档
springboot集成knife4j接口文档
|
6月前
|
Java Maven
【SpringBoot专题_02】springboot集成Swagger详细教程
【SpringBoot专题_02】springboot集成Swagger详细教程
61 0
|
6月前
|
前端开发 搜索推荐 Java
springboot集成swagger knife4j 最详细的步骤 手把手教你继承swagger
springboot集成swagger knife4j 最详细的步骤 手把手教你继承swagger
609 0
springboot集成swagger knife4j 最详细的步骤 手把手教你继承swagger
|
Java Maven 开发者
Springboot 整合 knife4j | Swagger文档最简单配置
Springboot 整合 knife4j | Swagger文档最简单配置
1414 0
Springboot 整合 knife4j | Swagger文档最简单配置
|
Java API
springboot 2.4.0 knife4j 3.0.1 接口文档框架
本文介绍了 springboot 2.4.0 框架集成 knife4j 3.0.1 接口文档框架的流程。 springboot 的 pom 文件中引入依赖; 启动类上加入 Knife4j 的注解; 配置扫描 api 接口; 在 model 类和 controller 中加入注解
380 0
springboot 2.4.0 knife4j 3.0.1 接口文档框架
|
前端开发 数据可视化 Java
在 SpringBoot 项目中使用 Swagger 接口文档演示
在 SpringBoot 项目中使用 Swagger 接口文档演示
234 0
在 SpringBoot 项目中使用 Swagger 接口文档演示