国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Springboot3.0.0+集成SpringDoc并配置knife4j的UI

這篇具有很好參考價值的文章主要介紹了Springboot3.0.0+集成SpringDoc并配置knife4j的UI。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

環(huán)境:JDK17,Springboot3+,springdoc2+,knife4j 4+

Springdoc本身也是集成了Swagger3,而knife4j美化了Swagger3的UI

Knife4j官網:

快速開始 | Knife4j

Springdoc官網

OpenAPI 3 Library for spring-boot

1.pom配置

由于此knife4j內依賴了SpringDoc,因此不用另外引入springdoc的依賴

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

springdoc依賴(無需引入),親測引入也不會沖突

        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
            <version>2.2.0</version>
        </dependency>

2.application.yml配置

springdoc:
    swagger-ui:
        path: /swagger-ui.html
        tags-sorter: alpha
        operations-sorter: alpha
        enabled: true
    api-docs:
        path: /v3/api-docs
        enabled: true
    group-configs:
          group: platform
          paths-to-match: /**
          packages-to-scan: com.license4j.license

knife4j:
    enable: true
    setting:
        language: zh_cn

3.代碼配置

addInterceptors主要放開了文檔的路徑訪問

addResourceHandlers主要設置了接口文檔靜態(tài)資源路徑

addResourceHandlers配置很重要,不配置會導致接口文檔404,后臺也會報異常

No mapping for GET /doc.html

import jakarta.annotation.Resource;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;

import java.util.ArrayList;
import java.util.List;

@Configuration
public class WebMvcRegistrationsConfig extends WebMvcConfigurationSupport {


    @Resource
    private LicenseInterceptor licenseInterceptor;

    public WebMvcRegistrationsConfig(LicenseInterceptor licenseInterceptor) {
        this.licenseInterceptor = licenseInterceptor;
    }

    /**
     * 攔截器配置
     * @param registry
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // 無需攔截的接口集合
        List<String> ignorePath = new ArrayList<>();
        // swagger
        ignorePath.add("/swagger-resources/**");
        ignorePath.add("/doc.html");
        ignorePath.add("/v3/**");
        ignorePath.add("/webjars/**");
        ignorePath.add("/springdoc/**");
        ignorePath.add("/static/**");
        ignorePath.add("/templates/**");
        ignorePath.add("/error");
        ignorePath.add("/cipher/check");
        ignorePath.add("/manager/login");
        ignorePath.add("/swagger-ui.html");
        //先攔截認證,再攔截授權
        registry.addInterceptor(licenseInterceptor).addPathPatterns("/**").excludePathPatterns(ignorePath);
    }

    /**
     * 靜態(tài)資源配置
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("doc.html")
                .addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("swagger-ui.html")
                .addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
}

swagger基本配置

import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class SwaggerConfig {
    private Info info(){
        return new Info()
                .title("API接口文檔")
                .description("")
                .version("v1.0.0");
    }
    @Bean
    public OpenAPI springShopOpenAPI() {
        return new OpenAPI()
                .info(info())
                .externalDocs(externalDocumentation());
    }
}

4.訪問路徑 ip+端口+doc.html文章來源地址http://www.zghlxwxcb.cn/news/detail-696643.html

到了這里,關于Springboot3.0.0+集成SpringDoc并配置knife4j的UI的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • SpringBoot - 集成Swagger2、Knife4j接口文檔/升級版swagger-bootstrap-ui配置以及賬號密碼登錄

    SpringBoot - 集成Swagger2、Knife4j接口文檔/升級版swagger-bootstrap-ui配置以及賬號密碼登錄

    請注意@Configuration和@EnableSwagger2注解。這兩個注解分別表示這是一個配置類,以及啟用了Swagger 2。只有在這兩個注解都存在的情況下,Swagger才會被正確啟用。 如果您的項目使用的是Swagger 3(即OpenAPI 3),則配置文件可能如下所示: 訪問 http://localhost:8080/swagger-ui.html (假設項

    2024年02月08日
    瀏覽(43)
  • 【SpringBoot筆記42】SpringBoot集成knife4j生成接口文檔

    這篇文章,主要介紹SpringBoot如何集成knife4j及生成接口文檔。 目錄 一、knife4j接口文檔生成器 1.1、接口文檔工具介紹 1.2、引入依賴

    2024年02月05日
    瀏覽(22)
  • 【Spring Cloud Gateway】⑥SpringBoot3.x集成SpringDoc指南

    【Spring Cloud Gateway】⑥SpringBoot3.x集成SpringDoc指南

    Spring Cloud Gateway 使用 Netty 作為嵌入式服務器,并基于響應式 Spring WebFlux 。做為微服務網關,多個微服務把 API 掛在 Gateway 上,如果查看某個 API 的 Swagger 還要去各個子微服務中去查看,就很不方便,如果能在 Gateway 上直接查看各個微服務的 API 文檔,會方便很多,本文以截至

    2024年02月14日
    瀏覽(23)
  • springboot配置swagger/knife4j時出現的Unresolvable class definition for class …異常

    springboot配置swagger/knife4j時出現的Unresolvable class definition for class …異常

    抽取出其中的關鍵原因描述: nested exception is java.lang.IllegalArgumentException: Unresolvable class definition for class [springfox.documentation.spring.web.OnServletBasedWebApplication] springfox.documentation.common.ClassPresentInClassPathCondition 進行原因排查后,發(fā)現是依賴之間版本問題的沖突導致,下面提供一個能

    2024年02月12日
    瀏覽(22)
  • springcloud-gateway集成knife4j

    springcloud-gateway集成knife4j

    springcloud-gateway集成knife4j(swagger2) 環(huán)境信息 準備工作 微服務集成knife4j 第一步:編寫Knife4jApiInfoProperties 第二步:編寫配置類Knife4jConfig 第三步:放行相關資源 保證啟動了knife4j 網關集成knife4j 編寫配置類Knife4jGatewayConfig 測試驗證 相關資料 spring-boot:2.6.3 spring-cloud-alibaba:2

    2023年04月09日
    瀏覽(20)
  • SpringBoot 整合knife4j

    SpringBoot 整合knife4j

    Knife4j是一款基于Swagger 2的在線API文檔框架 添加依賴 創(chuàng)建 Swagger 配置依賴 application.yml配置文件 響應參數 tips: http://127.0.0.1:8080/doc.html 這里端口,就是你運行項目的端口 springboot 中 knife4j的完整參數如下: 接口添加作者 添加作者有倆種方式 在方法上使用注解 @ApiOperationSupport

    2024年02月14日
    瀏覽(23)
  • SpringBoot整合Knife4j

    SpringBoot整合Knife4j

    ?作者簡介:大家好,我是Leo,熱愛Java后端開發(fā)者,一個想要與大家共同進步的男人??????個人主頁:Leo的博客??當前專欄: 循序漸進學SpringBoot ?特色專欄: MySQL學習 ??本文內容:SpringBoot整合Knife4j ??個人知識庫: Leo知識庫,歡迎大家訪問

    2024年04月11日
    瀏覽(28)
  • springBoo3.0集成knife4j4.1.0(swagger3)

    springBoo3.0集成knife4j4.1.0(swagger3)

    溫馨提示: springBoot 版本 3.0+ knife4j 版本 4.1.0 ?添加依賴:knife4j包含了swagger,openapi3中的依賴,所以加這一個就行。 yml文件中配置: 然后,就可以啟動測試輸入地址http://ip:port/doc.html ?注解的基本使用可以看下這里:swagger3注解和swagger2的區(qū)別 ?這里主要提下請求參數為文件

    2024年02月05日
    瀏覽(23)
  • 第十三章 SpringBoot整合knife4j

    第十三章 SpringBoot整合knife4j

    ??作者主頁:青花鎖 ??簡介:Java領域優(yōu)質創(chuàng)作者??、Java微服務架構公號作者?? ??簡歷模板、學習資料、面試題庫、技術互助 ??文末獲取聯系方式 ?? [Java項目實戰(zhàn)] 介紹Java組件安裝、使用;手寫框架等 [Aws服務器實戰(zhàn)] Aws Linux服務器上操作nginx、git、JDK、Vue等 [Java微服務

    2024年02月03日
    瀏覽(21)
  • springboot整合Knife4j--token頭驗證

    springboot整合Knife4j--token頭驗證

    Knife4j其實就是增強版本的swagger,過多的介紹我就不說了,一搜一大把,直接開始吧哈哈 1.引入pom依賴 需要其他版本的可以去https://mvnrepository.com/ ?自己選擇。 2.配置類 鏈式調用時api指定需要掃描的包,如果在配置加入@ConditionalOnProperty注解可以在yml文件配置用戶名密碼等等,

    2023年04月08日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包