swagger接口文檔規范化(蒼穹外賣)

swagger接口文檔規范化

(1)說明:

將接口文檔分為管理端和用戶端

(2)WebMvcConfiguration修改

位置:sky-server/src/main/java/com/sky/config/WebMvcConfiguration.java

文件完整代碼:

package com.sky.config;import com.sky.interceptor.JwtTokenAdminInterceptor;
import com.sky.json.JacksonObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
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 springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;import java.util.List;/*** 配置類,注冊web層相關組件*/
@Configuration
@Slf4j
public class WebMvcConfiguration extends WebMvcConfigurationSupport {@Autowiredprivate JwtTokenAdminInterceptor jwtTokenAdminInterceptor;/*** 注冊自定義攔截器** @param registry*/protected void addInterceptors(InterceptorRegistry registry) {log.info("開始注冊自定義攔截器...");registry.addInterceptor(jwtTokenAdminInterceptor).addPathPatterns("/admin/**").excludePathPatterns("/admin/employee/login");}/*** 通過knife4j生成接口文檔* @return*/@Beanpublic Docket admindocket() {log.info("準備生成接口文檔...");//在控制臺輸出ApiInfo apiInfo = new ApiInfoBuilder().title("蒼穹外賣項目接口文檔").version("2.0").description("蒼穹外賣項目接口文檔").build();Docket docket = new Docket(DocumentationType.SWAGGER_2).groupName("管理端接口文檔").apiInfo(apiInfo).select()//指定生成接口需要掃描的包.apis(RequestHandlerSelectors.basePackage("com.sky.controller.admin")).paths(PathSelectors.any()).build();return docket;}@Beanpublic Docket userdocket() {log.info("準備生成接口文檔...");//在控制臺輸出ApiInfo apiInfo = new ApiInfoBuilder().title("蒼穹外賣項目接口文檔").version("2.0").description("蒼穹外賣項目接口文檔").build();Docket docket = new Docket(DocumentationType.SWAGGER_2).groupName("用戶端接口文檔").apiInfo(apiInfo).select()//指定生成接口需要掃描的包.apis(RequestHandlerSelectors.basePackage("com.sky.controller.user")).paths(PathSelectors.any()).build();return docket;}/*** 設置靜態資源映射* @param registry*/protected void addResourceHandlers(ResourceHandlerRegistry registry) {log.info("開始設置靜態支資源映射...");//在控制臺輸出registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}/*** 擴展Spring MVC框架的消息轉換器* @param converters*/protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {log.info("開始擴展Spring MVC框架的消息轉換器...");//在控制臺輸出//創建一個消息轉換對象器MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();//需要為消息轉換器設置一個對象轉換器,對象轉換器可以將Java對象序列化為Json數據converter.setObjectMapper(new JacksonObjectMapper());//將自己的消息轉化器加入容器,“0”表示優先執行自定義的消息轉化器converterconverters.add(0, converter);}
}

修改的代碼:

/*** 通過knife4j生成接口文檔* @return*/
@Bean
public Docket admindocket() {log.info("準備生成接口文檔...");//在控制臺輸出ApiInfo apiInfo = new ApiInfoBuilder().title("蒼穹外賣項目接口文檔").version("2.0").description("蒼穹外賣項目接口文檔").build();Docket docket = new Docket(DocumentationType.SWAGGER_2).groupName("管理端接口文檔").apiInfo(apiInfo).select()//指定生成接口需要掃描的包.apis(RequestHandlerSelectors.basePackage("com.sky.controller.admin")).paths(PathSelectors.any()).build();return docket;
}@Bean
public Docket userdocket() {log.info("準備生成接口文檔...");//在控制臺輸出ApiInfo apiInfo = new ApiInfoBuilder().title("蒼穹外賣項目接口文檔").version("2.0").description("蒼穹外賣項目接口文檔").build();Docket docket = new Docket(DocumentationType.SWAGGER_2).groupName("用戶端接口文檔").apiInfo(apiInfo).select()//指定生成接口需要掃描的包.apis(RequestHandlerSelectors.basePackage("com.sky.controller.user")).paths(PathSelectors.any()).build();return docket;
}

示意圖:

(3)啟動項目

在網址搜索欄重新輸入:http://localhost:8080/doc.html

至此,接口文檔規范化設置已完成!

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

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

相關文章

Transformer 架構的演進與未來方向(RNN → Self-Attention → Mamba)——李宏毅大模型2025第四講筆記

一句話總結——“所有架構都為了解決上一代模型的致命缺陷而生&#xff1a;CNN 解決參數爆炸&#xff0c;ResNet 解決梯度消失&#xff0c;Transformer 解決 RNN 無法并行&#xff0c;而 Mamba 則試圖一次解決 Transformer 的 O(N) 與 RNN 的記憶瓶頸。”1 每種架構的存在理由?…

Vllm-0.10.1:通過vllm bench serve測試TTFT、TPOT、ITL、E2EL四個指標

一、KVM 虛擬機環境GPU:4張英偉達A6000(48G)內存&#xff1a;128G海光Cpu:128核大模型&#xff1a;DeepSeek-R1-Distill-Qwen-32B推理框架Vllm:0.10.1二、四個性能指標介紹2.1、TTFT:Time to First token首次生成token時間&#xff08;ms&#xff09;,TTFT 越短&#xff0c;用戶…

邏輯回歸基礎

昨天一直在復盤梯度下降&#xff0c;都沒咋預習邏輯回歸&#xff0c;好在不是很難&#xff0c;來捋捋邏輯回歸簡介邏輯回歸是解決分類問題數學基礎-sigmoid函數還要回顧一下概率論極大似然估計再來看一下對數邏輯回歸原理邏輯回歸的損失函數例子&#xff1a;分類問題評估混淆矩…

STM32----W25QXX

W25QXX款圖W25QXX存儲解讀塊--->扇-->頁塊分成128塊一塊64kb一塊分成16扇一扇4kb一個扇區分成16頁&#xff0c;頁的大小是256個字節 當數據傳入W25QXX最小的擦除單元是扇區當已經輸入了一頁的數據&#xff0c;這時RAM的數據會轉存進FLASH&#xff0c;這時會置一個標志位&…

【Kafka】Kafka使用場景用例Kafka用例圖

【Kafka】Kafka使用場景用例&Kafka用例圖一、Kafka用例總圖二、Kafka用例圖示三、Kafka場景案例圖一、Kafka用例總圖 二、Kafka用例圖示 三、Kafka場景案例圖 注&#xff1a;以上圖片來源于網絡&#xff0c;如有不妥請私信刪除&#xff01;

Altium Designer(AD24)集成開發環境簡介

??《專欄目錄》 目錄 1,概述 2,界面介紹 2,搜索功能簡介 1,概述 Altium Designer 24的原理圖,PCB等設計工作都是在集成開發環境中進行的,本文簡單介紹集成開發環境界面。 2,界面介紹 如下圖所示,Altium Designer 24的集成開發環境,包括: 標題欄:目前設計中文件的…

[論文閱讀] 軟件工程 | 告別“線程安全玄學”:基于JMM的Java類靜態分析,CodeQL3分鐘掃遍GitHub千倉錯誤

告別“線程安全玄學”&#xff1a;基于JMM的Java類靜態分析&#xff0c;CodeQL3分鐘掃遍GitHub千倉錯誤 論文信息類別詳情論文原標題Scalable Thread-Safety Analysis of Java Classes with CodeQL主要作者及機構1. Bjrnar Haugstad Jatten&#xff08;哥本哈根IT大學&#xff…

jQuery.ajax() 方法核心參數詳解

大家好&#xff0c;歡迎來到程序視點&#xff01;我是你們的老朋友.小二&#xff01;jQuery.ajax() 方法核心參數詳解基礎參數url類型&#xff1a;String功能&#xff1a;請求地址&#xff0c;默認當前頁地址。type類型&#xff1a;String&#xff08;get/post為主&#xff0c;…

LCR 175. 計算二叉樹的深度【簡單】

LCR 175. 計算二叉樹的深度【簡單】 題目描述 某公司架構以二叉樹形式記錄&#xff0c;請返回該公司的層級數。 示例 1&#xff1a;輸入&#xff1a;root [1, 2, 2, 3, null, null, 5, 4, null, null, 4] 輸出: 4 解釋: 上面示例中的二叉樹的最大深度是 4&#xff0c;沿著路…

AI驅動健康升級:新零售企業從“賣產品”到“賣健康”的轉型路徑

隨著健康意識的不斷提升&#xff0c;健康管理增值服務正逐漸成為零售企業的核心競爭力。消費者對“產品服務”的需求激增&#xff0c;企業亟需構建覆蓋健康評估、干預到跟蹤的營養健康管理體系&#xff0c;通過數據化手段提升用戶粘性。在此背景下&#xff0c;AI技術正推動健康…

2025年最新三維WebGIS開發學習路線圖深度解析

地信小白為何學習webgis&#xff1f;我們在后臺經常收到同學們關于地信測繪等專業的吐槽&#xff0c;總結后主要分為以下幾類&#xff1a;第一種吐槽學校理論與實踐脫節的&#xff0c;學校課程偏重理論&#xff0c;缺乏企業級真實項目經驗&#xff0c;導致同學們簡歷空洞、單一…

15-Java-面向對象-標準JavaBean類

文章目錄標準JavaBean類標準JavaBean類 類名需要見名知意成員變量使用private修飾提供至少兩個構造方法 無參構造方法帶全部參數的構造方法 成員方法 提供每一個成員變量對應的setXxx&#xff08;&#xff09;/getXxx&#xff08;&#xff09;如果還有其他行為&#xff0c;也需…

AI大模型應用研發工程師面試知識準備目錄

一、大模型核心基礎理論 大模型核心架構&#xff1a;Transformer&#xff08;Encoder/Decoder結構、自注意力機制、多頭注意力&#xff09;、GPT系列&#xff08;Decoder-only&#xff09;、BERT系列&#xff08;Encoder-only&#xff09;的差異與適用場景關鍵技術原理&#xf…

基于單片機汽車防撞系統設計

傳送門 &#x1f449;&#x1f449;&#x1f449;&#x1f449;單片機作品題目速選一覽表&#x1f680; &#x1f449;&#x1f449;&#x1f449;&#x1f449;單片機作品題目功能速覽&#x1f680; &#x1f525;更多文章戳&#x1f449;小新單片機-CSDN博客&#x1f68…

《Java線程池面試全解析:從原理到實踐的高頻問題匯總》

線程池作為Java并發編程的核心組件&#xff0c;是面試中的必考知識點。無論是初級開發崗還是資深架構崗&#xff0c;對線程池的理解深度往往能反映候選人的并發編程能力。本文匯總了線程池相關的高頻面試題&#xff0c;并提供清晰、深入的解答&#xff0c;助你輕松應對各類面試…

波特率vs比特率

一、核心定義1. 波特率&#xff08;Baud Rate&#xff09;定義&#xff1a;單位時間內傳輸的 “信號符號&#xff08;Symbol&#xff09;” 數量&#xff0c;單位為 “波特&#xff08;Baud&#xff09;”。這里的 “符號” 是通信中的基本信號單元&#xff0c;指信號在物理層的…

AI 生成式藝術重塑動漫角色創作:從技術邏輯到多元可能性(一)

當《蜘蛛俠&#xff1a;縱橫宇宙》中風格迥異的角色群像驚艷銀幕&#xff0c;當《鬼滅之刃》的 “柱” 系列角色憑借鮮明人設圈粉無數&#xff0c;動漫角色早已超越 “故事載體” 的屬性&#xff0c;成為承載世界觀、傳遞情感的核心符號。傳統動漫角色創作往往依賴團隊數月甚至…

npm install 報錯問題解決 npm install --ignore-scripts

為避免惡意依賴包中的病毒&#xff0c;推薦使用npm命令時添加–ignore-scripts參數&#xff0c;以禁用第三方依賴包的預安裝或安裝后腳本。然而&#xff0c;某些依賴包需這些腳本才能正常工作。# 原 報錯 npm install # 改為 npm install --ignore-scripts我遇到的以下2種報錯都…

四個關于云屬性的四個衛星數據集的介紹

一、前言 Himawari-8/9 (AHI)、Meteosat (SEVIRI)、GOES (ABI)、CLAAS-3&#xff0c;四個數據集/傳感器&#xff0c;它們其實都屬于靜止氣象衛星&#xff08;GEO&#xff09;云和輻射產品&#xff0c;在降水、云屬性和能量收支研究中應用很廣&#xff0c;AHI&#xff08;亞太&a…

browser use完整梳理

brower use完整邏輯梳理 browser use的完整一次運行過程 INFO [service] Using anonymized telemetry, see https://docs.browser-use.com/development/telemetry. WARNING [Agent] ?? DeepSeek models do not support use_visionTrue yet. Setting use_visionFalse for…