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

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的大学生,如果我的文章给你带来的帮助,欢迎您关注我->**我会持续不断的更新更多优质文章.你的关注就是我的动力!!!🎉🎉🎉

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring Boot是一种便捷的框架,它可以快速地搭建Java应用程序,并且它对于集成其他组件和框架也十分方便。而Knife4j则是一种集成度很高的API文档工具,它可以将接口文档在Swagger的基础上大幅度优化。在Spring Boot使用Knife4j整合API文档也非常简单。 首先,我们需要在Spring Boot的项目引入Knife4j依赖,可以在pom.xml文件加入以下代码: ``` <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>2.2.7</version> </dependency> ``` 这样Knife4j就会被自动集成到Spring Boot的应用。 接下来,我们需要在Controller方法上增加注解,并且配置一些信息才能生成接口文档。 ``` @GetMapping("/hello") @ApiOperation(value = "示例API接口", notes = "这是一个示例API接口") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "用户名", required = true, dataType = "String", paramType = "header") }) public String hello(@RequestHeader String name){ return "Hello, " + name + "!"; } ``` 其@GetMapping是Spring Boot的注解,用于标记这是一个GET请求。@ApiOperation和@ApiImplicitParams则是Knife4j的注解,它们分别用于注释方法和方法参数的信息。 最后,在启动Spring Boot应用后,访问http://localhost:8080/doc.html 就可以看到生成的接口文档了。这个文档列表会列出所有接口的URL、HTTP方法、请求参数、响应结果等信息,非常直观和有用。通过Knife4j可以使API文档生成更加高效、直观,方便开发者理解和调用接口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

瑞雨溪

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

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

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

打赏作者

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

抵扣说明:

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

余额充值