欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot3.x整合Knife4j接口文檔

 更新時(shí)間:2025年06月29日 11:17:39   作者:木子空間Pro  
SpringBoot整合Knife4j來生成和展示接口文檔是一種流行的做法,特別是在需要提供RESTful API文檔時(shí),下面就來介紹一下如何實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下

記錄下SpringBoot3.x整合Knife4j接口文檔時(shí)的步驟以及開發(fā)中的常見報(bào)錯(cuò)問題。

1.依賴

<!--        接口文檔,訪問地址:ip:port/doc.html-->
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
    <version>4.4.0</version>
</dependency>

2.配置

package com.base.config;

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

@Configuration
public class SwaggerConfig {

    @Bean
    public OpenAPI customOpenAPI() {
        return new OpenAPI()
                .info(new Info()
                        .title("接口文檔標(biāo)題")
                        .version("1.0.0")
                        .description("接口描述")
                        .contact(new Contact().name("開發(fā)者").email("dev@example.com"))
                        .license(new License().name("Apache 2.0").url("https://www.apache.org/licenses/LICENSE-2.0.html"))
                )
                .externalDocs(new ExternalDocumentation()
                        .description("項(xiàng)目主頁")
                        .url("https://github.com/xxx/xxx"));
    }
}

image-20250628121047365

3.用法細(xì)節(jié)

  • 如果不想全部controller都掃描到,可以用@Hidden注解隱藏不顯示
  • 在controller類名上加@Tag(name = "xxx"),具體方法名加@Operation(summary = "xxx")
  • 配置文檔需登錄后訪問

application.yml配置如下:

knife4j:
  enable: true
  basic:
    enable: true
    username: xxx
    password: xxx

image-20250628120355691

原UI頁面顯示

application.yml配置如下:

springdoc:
  swagger-ui:
#    訪問原UI界面:ip:port/swagger-ui/index.html
    path: /swagger-ui.html
    tags-sorter: alpha
    operations-sorter: alpha
  api-docs:
    path: /v3/api-docs
  group-configs:
    - group: 'default'
      paths-to-match: '/**'
      packages-to-scan: com.base.controller

image-20250628121019994

附錄:可能會(huì)遇到問題

問題1

控制臺(tái)提示favicon.ico未找到

org.springframework.web.servlet.resource.NoResourceFoundException: No static resource favicon.ico.
	at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585)
	at 

解決1

加一個(gè) favicon.icostatic/ 目錄。(如果你不關(guān)心這個(gè) favicon,可以忽略這個(gè)異常)

image-20250628110509058

問題2

控制臺(tái)提示.well-known/appspecific/com.chrome.devtools.json未找到

2025-06-28T10:40:49.872+08:00  WARN 9924 --- [nio-8888-exec-4] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.web.servlet.resource.NoResourceFoundException: No static resource .well-known/appspecific/com.chrome.devtools.json.]
org.springframework.web.servlet.resource.NoResourceFoundException: No static resource .well-known/appspecific/com.chrome.devtools.json.
	at org.sprin

解決2

攔截 .well-known/ 路徑,返回空響應(yīng)或 404(推薦給控制臺(tái)干凈控)

@RestController
public class WellKnownController {
    @RequestMapping("/.well-known/**")
    public ResponseEntity<Void> handleUnknownWellKnown() {
        return ResponseEntity.notFound().build(); // 返回 404,或改為返回 204 無內(nèi)容
    }
}

到此這篇關(guān)于SpringBoot3.x整合Knife4j接口文檔的文章就介紹到這了,更多相關(guān)SpringBoot3.x整合Knife4j內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • JDBC 與 MyBatis從基礎(chǔ)到實(shí)踐

    JDBC 與 MyBatis從基礎(chǔ)到實(shí)踐

    JDBC(Java Database Connectivity)即 Java 數(shù)據(jù)庫連接,是 Java 語言中用來規(guī)范客戶端程序如何來訪問數(shù)據(jù)庫的應(yīng)用程序接口,提供了諸如查詢和更新數(shù)據(jù)庫中數(shù)據(jù)的方法,這篇文章主要介紹了JDBC 與 MyBatis從基礎(chǔ)到實(shí)踐,需要的朋友可以參考下
    2025-04-04
  • 淺析如何利用Spring AI構(gòu)建一個(gè)簡單的問答系統(tǒng)

    淺析如何利用Spring AI構(gòu)建一個(gè)簡單的問答系統(tǒng)

    Spring AI是Spring生態(tài)系統(tǒng)的最新成員,旨在簡化AI服務(wù)與Spring應(yīng)用的集成過程,本文小編就來和大家簡單介紹一下如何利用Spring AI構(gòu)建一個(gè)簡單的問答系統(tǒng)吧
    2025-05-05
  • IDEA中如何引入spring的命名空間

    IDEA中如何引入spring的命名空間

    這篇文章主要介紹了IDEA中如何引入spring的命名空間問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Java中實(shí)現(xiàn)線程的超時(shí)中斷方法實(shí)例

    Java中實(shí)現(xiàn)線程的超時(shí)中斷方法實(shí)例

    之前在使用Java實(shí)現(xiàn)熔斷降級(jí)組件的時(shí)候,需要實(shí)現(xiàn)接口請(qǐng)求的超時(shí)中斷,通過查找相關(guān)資料了解了相關(guān)的方法,下面這篇文章主要給大家介紹了關(guān)于Java中實(shí)現(xiàn)線程的超時(shí)中斷的相關(guān)資料,需要的朋友可以參考下
    2018-06-06
  • 淺談Java高并發(fā)解決方案以及高負(fù)載優(yōu)化方法

    淺談Java高并發(fā)解決方案以及高負(fù)載優(yōu)化方法

    這篇文章主要介紹了淺談Java高并發(fā)解決方案以及高負(fù)載優(yōu)化方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 一文搞懂spring boot本地事務(wù)@Transactional參數(shù)

    一文搞懂spring boot本地事務(wù)@Transactional參數(shù)

    這篇文章主要介紹了spring boot本地事務(wù)@Transactional參數(shù)詳解,本文通過示例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10
  • 最簡單的在IntelliJ IDEA導(dǎo)入一個(gè)本地項(xiàng)目教程(圖文)

    最簡單的在IntelliJ IDEA導(dǎo)入一個(gè)本地項(xiàng)目教程(圖文)

    這篇文章主要介紹了最簡單的在IntelliJ IDEA導(dǎo)入一個(gè)本地項(xiàng)目教程(圖文),文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 詳談Java靜態(tài)動(dòng)態(tài)的問題

    詳談Java靜態(tài)動(dòng)態(tài)的問題

    下面小編就為大家?guī)硪黄斦凧ava靜態(tài)動(dòng)態(tài)的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Java使用wait/notify實(shí)現(xiàn)線程間通信上篇

    Java使用wait/notify實(shí)現(xiàn)線程間通信上篇

    wait()和notify()是直接隸屬于Object類,也就是說所有對(duì)象都擁有這一對(duì)方法,下面這篇文章主要給大家介紹了關(guān)于使用wait/notify實(shí)現(xiàn)線程間通信的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • 淺談Java中浮點(diǎn)型數(shù)據(jù)保留兩位小數(shù)的四種方法

    淺談Java中浮點(diǎn)型數(shù)據(jù)保留兩位小數(shù)的四種方法

    今天在進(jìn)行開發(fā)的過程中遇到了一個(gè)小問題,是關(guān)于如何將double類型的數(shù)據(jù)保留兩位小數(shù)。具有一定的參考價(jià)值,本文就詳細(xì)的介紹一下
    2021-09-09

最新評(píng)論