整合Spring Boot 框架集成Knife4j

本次示例使用Spring Boot作為腳手架來快速集成Knife4j,Spring Boot版本2.3.5.RELEASE

,Knife4j版本2.0.7

POM.XML完整文件代碼如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.5.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-fast-demo</artifactId><version>1.0</version><name>knife4j-spring-boot-fast-demo</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>2.0.9</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>2.0.9</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

第一步:在maven項目的pom.xml中引入Knife4j的依賴包,代碼如下:

<dependency>
? ? <groupId>com.github.xiaoymin</groupId>
? ? <artifactId>knife4j-spring-boot-starter</artifactId>
? ? <version>2.0.9</version>
</dependency>

第二步:創建Swagger配置依賴,代碼如下:

package com.example.common;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfiguration {@Bean(value = "defaultApi2")public Docket defaultApi2() {Docket docket=new Docket(DocumentationType.SWAGGER_2).apiInfo(new ApiInfoBuilder()//.title("swagger-bootstrap-ui-demo RESTful APIs").description("# swagger-bootstrap-ui-demo RESTful APIs").termsOfServiceUrl("http://www.xx.com/").contact("xx@qq.com").version("1.0").build())//分組名稱.groupName("2.X版本").select()//這里指定Controller掃描包路徑.apis(RequestHandlerSelectors.basePackage("com.github.xiaoymin.knife4j.controller")).paths(PathSelectors.any()).build();return docket;}
}

最終整個工程目錄結構如下圖:

此時,啟動Spring Boot工程,在瀏覽器中訪問:http://localhost:8080/doc.html

附:官方文檔使用地址:快速開始 | Knife4j

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/20017.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/20017.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/20017.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

智能合約引領:探索Web3的商業革新之路

隨著區塊鏈技術的迅速發展&#xff0c;智能合約作為其重要應用之一&#xff0c;正在逐步改變著商業世界的格局。Web3作為下一代互聯網的代表&#xff0c;正引領著智能合約在商業領域的廣泛應用和創新。本文將深入探討智能合約在Web3中的作用&#xff0c;以及智能合約如何引領著…

【正在線上召開】2024機器智能與數字化應用國際會議(MIDA2024),免費參會

【ACM出版】2024機器智能與數字化應用國際會議&#xff08;MIDA2024&#xff09; 2024 International Conference on Machine Intelligence and Digital Applications 【支持單位】 寧波財經學院 法國上阿爾薩斯大學 【大會主席】 Ljiljana Trajkovic 加拿大西蒙菲莎大…

【JavaScript腳本宇宙】跨越邊界:挖掘JavaScript驗證庫的無限可能

引領技術潮流&#xff1a;六大頂級JavaScript驗證庫解析 前言 在現代編程中&#xff0c;數據驗證是一個非常重要的環節。本文將探索六種不同的JavaScript數據驗證庫&#xff0c;分別介紹它們的概述&#xff0c;主要特性&#xff0c;使用示例和使用場景。 歡迎訂閱專欄&#x…

PHP身份證真假API在線文檔、身份證ocr識別、身份證三要素人像核驗

翔云PHP身份證真假API文檔&#xff0c;為開發者提供了一個詳盡的操作指南和接口說明。通過簡潔明了的文檔&#xff0c;開發者可以輕松集成身份證驗證功能到各類網站或應用程序中&#xff0c;無需從零開始編寫復雜的驗證邏輯&#xff0c;大大縮短了開發周期&#xff0c;降低了技…

使用畫圖工具修改圖片文字

方法思路&#xff1a; 使用背景色將需要修改的文字覆蓋&#xff0c;然后在原來的地方加入修改后的字。 第一步&#xff1a; 選中圖片后右鍵&#xff0c;選擇“編輯”&#xff08;默認會使用畫圖工具打開&#xff09; 第二步&#xff1a; 選取顏色選取器&#xff0c;如下圖 使…

cpprestsdk https雙向認證小測

概述 因項目需要在系統中引入https雙向認證&#xff0c;由于程序使用C/C和cpprestsdk庫編寫&#xff0c;從網上經過一頓檢索折騰&#xff0c;總算測試通過&#xff0c;故而博文記錄用以備忘。 系統環境 Ubuntu 22.04.3 LTS libcpprest-dev&#xff08;jammy,now 2.10.18-1bu…

【Text2SQL 論文】DIN-SQL:分解任務 + 自我糾正 + in-context 讓 LLM 完成 Text2SQL

論文&#xff1a;DIN-SQL: Decomposed In-Context Learning of Text-to-SQL with Self-Correction ???? NeurIPS 2023, arXiv:2304.11015 Code: Few-shot-NL2SQL-with-prompting | GitHub 文章目錄 一、論文速讀1.1 Schema Linking Module1.2 Classification & Decompo…

【每日刷題】Day52

【每日刷題】Day52 &#x1f955;個人主頁&#xff1a;開敲&#x1f349; &#x1f525;所屬專欄&#xff1a;每日刷題&#x1f34d; &#x1f33c;文章目錄&#x1f33c; 1. 2965. 找出缺失和重復的數字 - 力扣&#xff08;LeetCode&#xff09; 2. 350. 兩個數組的交集 II …

kaggle競賽系列基于圖像對水稻分類代碼案例

目錄 依賴環境 代碼 導入依賴包 定義數據集路徑&#xff1a; 創建訓練集、驗證集和測試集的文件夾&#xff1a; 代碼的作用&#xff1a; 設置新的數據集路徑與類別名稱 代碼的作用&#xff1a; 定義數據預處理和增強變換&#xff1a; 代碼的作用&#xff1a; 定義數…

【源碼】多語言H5聊天室/thinkphp多國語言即時通訊/H5聊天室源碼/在線聊天/全開源

多語言聊天室系統&#xff0c;可當即時通訊用&#xff0c;系統默認無需注冊即可進入群聊天&#xff0c;全開源 【海外聊天室】多語言H5聊天室/thinkphp多國語言即時通訊/H5聊天室源碼/在線聊天/全開源 - 吾愛資源網

每日5題Day13 - LeetCode 61 - 65

每一步向前都是向自己的夢想更近一步&#xff0c;堅持不懈&#xff0c;勇往直前&#xff01; 第一題&#xff1a;61. 旋轉鏈表 - 力扣&#xff08;LeetCode&#xff09; /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;…

STM32學習和實踐筆記(32):電容觸摸按鍵實驗

1.電容觸摸按鍵原理介紹 觸摸按鍵與傳統的機械按鍵相比&#xff0c;不僅美觀而且耐用、壽命長&#xff0c;它顛覆了傳統意義上的機械按鍵控制&#xff0c;只要輕輕觸摸&#xff0c;就可以實現按鍵開關的控制、量化調節甚至方向控制。觸摸按鍵已廣泛應用于手機、DVD、洗衣機等消…

宿舍管理系統帶文檔java項目基于springboot+vue的宿舍管理系統

文章目錄 宿舍管理系統一、項目演示二、項目介紹三、八千字項目文檔四、部分功能截圖五、部分代碼展示六、底部獲取項目源碼和8000字論文參考&#xff08;9.9&#xffe5;帶走&#xff09; 宿舍管理系統 一、項目演示 宿舍管理系統 二、項目介紹 基于springbootvue的前后端分…

MVC、MVP 和 MVVM 架構總結

MVC、MVP 和 MVVM 是常見的軟件架構模式&#xff0c;主要用于組織應用程序的結構&#xff0c;特別是在用戶界面和業務邏輯之間進行分離。以下是對它們的詳細解釋&#xff0c;包括它們的差異、優缺點。 MVC&#xff08;Model-View-Controller&#xff09; 結構 Model&#xf…

C++的繼承(十一):私有繼承和受保護的繼承

但凡用過C的人都知道&#xff1a;私有繼承的成員在派生類里均為私有&#xff0c;受保護的繼承公有和受保護的成員在派生類里為受保護。另外C不對私有繼承和受保護的繼承的派生類指針自動轉化為基礎類。 #include <stdio.h> struct X {int a;X():a(9) {}int sqare() {ret…

5.nginx平滑升級

nginx平滑升級 一、nginx平滑升級1、下載新版本的安裝包2、以之前的安裝參數來編譯新版本軟件3、將新版本的nginx拷貝到安裝目錄4、啟動新版本進程5、平緩關閉舊工作進程6、清理舊版本的nginx 一、nginx平滑升級 USR2 啟動新版本進程 WINCH 平緩關閉舊工作進程 1、下載新版本…

分層注入的設計模式-上下層文件相互包含解決辦法

現象&#xff1a;上下層文件相互包含 寫代碼時&#xff0c;會不會遇到&#xff0c;業務層內容要在底層硬件程序里寫&#xff0c; 例如&#xff1a;一個外部按鍵&#xff0c;按鍵中斷要觸發一個應用層業務。 業務就要寫道IO中斷里&#xff0c;這個代碼就要用到上層一些函數和變…

在長窗口時代,RAG技術是否仍然必要?

自從谷歌推出 Gemini 1.5 Pro&#xff0c;行業內部對于 RAG 的討論就不絕于耳。 Gemini 1.5 Pro 的性能確實令人矚目。根據谷歌公布的技術文檔&#xff0c;該系統能夠穩定處理長達 100 token 的內容&#xff0c;相當于一小時的視頻、十一小時的音頻、超過三萬行的代碼或七十萬…

【VTKExamples::Utilities】第十七期 ZBuffer

很高興在雪易的CSDN遇見你 VTK技術愛好者 QQ:870202403 公眾號:VTK忠粉 前言 本文分享VTK樣例ZBuffer,并解析接口vtkWindowToImageFilter,希望對各位小伙伴有所幫助! 感謝各位小伙伴的點贊+關注,小易會繼續努力分享,一起進步! 你的點贊就是我的動力(^U^)ノ…

24 _ 分層和合成機制:為什么CSS動畫比JavaScript高效?

在上一篇文章中我們分析了CSS和JavaScript是如何影響到DOM樹生成的&#xff0c;今天我們繼續沿著渲染流水線向下分析&#xff0c;來聊聊DOM樹之后所發生的事情。 在前面《05 | 渲染流程&#xff08;上&#xff09;&#xff1a;HTML、CSS和JavaScript文件&#xff0c;是如何變成…