首页 > 其他分享 >SpringBoot3项目使用Knife4j时访问doc.html出现Knife4j文档请求异常且开发者工具网络面板中swagger-resources请求出现404的处理心得

SpringBoot3项目使用Knife4j时访问doc.html出现Knife4j文档请求异常且开发者工具网络面板中swagger-resources请求出现404的处理心得

时间:2024-03-25 18:33:41浏览次数:14  
标签:Knife4j 请求 doc 404 Docket new apiInfo description

1.在各个pom.xml中替换Knife4j的依赖版本,升级为4.0以上,如果找不到依赖可以在Maven配置中多添加几个镜像,或者使用汉化插件重启IDEA;

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

 2.(主要在实体类的DTO和VO类中)用Swagger3注解替换Swagger2注解,变化规则如下:

@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 = “”)

 3.(可选)修改配置类,将extends WebMvcConfigurationSupport改为implements WebMvcConfigurer,并将重写的方法属性由protected改为public,

修改后可不重写静态资源映射的addResourceHandlers方法,因为因为implements了WebMvcConfigurer接口之后可以自动映射静态资源;

4.原配置类中的

    @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;
    }

修改为

    @Bean
    public OpenAPI publicApi(Environment environment) {
        return new OpenAPI()
                //.servers(serverList())
                .info(new Info()
                        .title("")
                        //.extensions(Map.of("x-audience", "external-partner", "x-application-id", "APP-12345"))
                        .description("")
                        .version("")
                );
        //.addSecurityItem(new SecurityRequirement().addList("bearer-jwt", Arrays.asList("read", "write"))).security(securityList());
    }

5.大功告成,可成功访问swagger-ui以及doc.html。

 参考链接:抛弃 springfox,拥抱 springdoc - 知乎 (zhihu.com)

标签:Knife4j,请求,doc,404,Docket,new,apiInfo,description
From: https://www.cnblogs.com/TechMyZeal/p/18094999

相关文章

  • Django框架之csrf跨站请求
    【一】跨站请求伪造介绍【1】引入CSRF(Cross-SiteRequestForgery)跨站请求伪造是一种常见的网络攻击方式。攻击者通过诱导受害者访问恶意网站或点击恶意链接将恶意请求发送到目标网站上利用受害者在目标网站中已登录的身份来执行某些操作从而达到攻击的目的。【2】举......
  • ssh -p 2222怎么进docker容器
    要通过SSH和端口2222进入Docker容器,您需要确保容器内已经安装并运行了SSH服务器,并且已经将宿主机的2222端口映射到容器的SSH端口(通常为22)。以下是一般的步骤:1、启动容器时映射端口:当您启动容器时,使用-p参数将宿主机的2222端口映射到容器的SSH端口。例如:dockerrun-d--n......
  • doctest使用方法
    doctest 是Python标准库中的一个模块,用于测试模块中的文档字符串中的示例代码。它可以确保文档字符串中的示例代码与实际代码行为一致,并且可以作为文档的一部分保持更新。以下是一个简单的示例,演示如何使用 doctest 模块:defadd(a,b):"""返回两个数字的和。......
  • 怎么批量删除docker没有使用的镜像 清理磁盘空间
    要批量删除没有使用的Docker镜像并清理磁盘空间,您可以按照以下步骤执行操作:1.查看当前使用的Docker镜像列表,可以使用以下命令:dockerimages2.确认需要删除的镜像是没有被使用的。如果您确定要删除某个镜像,请记录镜像的REPOSITORY和TAG。3.执行以下命令来删除指定镜......
  • CentOS7.6离线安装Docker
    一、环境检查[root@localhostsoftware]#cat/etc/redhat-releaseCentOSLinuxrelease7.6.1810(Core)[root@localhostsoftware]#uname-aLinuxlocalhost.localdomain3.10.0-957.el7.x86_64#1SMPThuNov823:39:32UTC2018x86_64x86_64x86_64GNU/Linux[root@......
  • docker导航部署 sun-panel
    创建目录mkdir-p/volume2/docker/docker_data/sun-panel/confmkdir-p/volume2/docker/docker_data/sun-panel/uploadsmkdir-p/volume2/docker/docker_data/sun-panel/database启动容器dockerrun-d--restart=always-p9993:3002\-v/volume2/docker/docker_data/......
  • 【JS】并发请求
    需求封装一个函数,做到可以进行并发请求,并将结果返回。该函数接收两个参数,分别为urls和maxNum。urls是数组,其中元素均为请求地址;maxNum表示最大并发数。如果有完成的请求,会从urls中,按序取出下一个请求,请求的结果会计入返回的数组中,返回的数组中元素的索引与参数urls中保......
  • 【WPF应用13】WPF基本控件-DockPanel布局详解与示例
    引言WPF(WindowsPresentationFoundation)是微软.NET框架的一个组成部分,它用于构建桌面应用程序的用户界面。在WPF中,控件是构建用户界面的基本元素,而布局控件则负责安排其他控件的位置和大小。DockPanel是WPF中的一个布局控件,它允许您将子控件沿着边缘排列,类似于......
  • docker compose 部署 nexus3
    创建数据目录mkdir-pv/data/nexus/nexus-data&&chown-R200/data/nexus/nexus-datadocker-compose.yamlversion:'3'services:nexus3:image:sonatype/nexus3:3.66.0container_name:nexus3restart:alwaysenvironment:......
  • 【python】flask执行上下文context,请求上下文和应用上下文原理解析
    ✨✨欢迎大家来到景天科技苑✨✨......