Swagger 安装使用教程

一、Swagger 简介

Swagger 是一套开放源代码的 API 文档生成工具链,现归属于 OpenAPI 规范。它支持 RESTful API 的定义、生成、测试和文档自动化。常见的使用工具包括 Swagger UI、Swagger Editor、Swagger Codegen 以及 SpringFox(Spring 集成库)。


二、常用组件说明

组件作用
Swagger UI可视化展示 API 接口文档
Swagger Editor在线或本地编辑 OpenAPI 规范文件
Swagger Codegen从 OpenAPI 规范生成代码
SpringFox集成 Swagger 到 Spring Boot 项目

三、Swagger UI 安装与使用

3.1 下载方式

  • GitHub 地址:https://github.com/swagger-api/swagger-ui

3.2 本地运行步骤

  1. 下载源码或 clone 仓库:
git clone https://github.com/swagger-api/swagger-ui.git
cd swagger-ui
  1. 打开 dist/index.html 文件即可本地查看界面;

  2. 替换默认的 petstore 接口为你自己的 API 文档地址:

const ui = SwaggerUIBundle({url: "http://localhost:8080/v2/api-docs", // 修改为你的文档地址...
});

四、Spring Boot 项目集成 Swagger(使用 SpringFox)

4.1 添加 Maven 依赖

<dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version>
</dependency>

4.2 创建 Swagger 配置类

@Configuration
@EnableOpenApi
public class SwaggerConfig {@Beanpublic Docket api() {return new Docket(DocumentationType.OAS_30).select().apis(RequestHandlerSelectors.basePackage("com.example.controller")).paths(PathSelectors.any()).build();}
}

4.3 访问地址

项目启动后访问:

http://localhost:8080/swagger-ui/index.html

五、Swagger Editor 使用(可本地部署)

  1. 下载地址:https://github.com/swagger-api/swagger-editor

  2. 运行方式:

docker pull swaggerapi/swagger-editor
docker run -d -p 8888:8080 swaggerapi/swagger-editor

访问:http://localhost:8888


六、Swagger Codegen 使用

6.1 安装方式(JAR 包)

  • 下载地址:https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/

6.2 生成代码命令示例

java -jar swagger-codegen-cli.jar generate \-i http://localhost:8080/v2/api-docs \-l java \-o ./generated-client

七、常见问题

Q1: Spring Boot 3.x 无法使用 SpringFox?

SpringFox 与 Spring Boot 3 不兼容,建议使用 Springdoc OpenAPI 代替。

Q2: 接口文档页面空白?

请检查 @RestController@RequestMapping 注解是否正确,或接口是否被扫描。


八、学习资源推荐

  • Swagger 官方文档
  • OpenAPI 规范
  • Springdoc OpenAPI
  • B 站搜索“小奇Java面试”获取视频讲解

本文由“小奇Java面试”原创发布,转载请注明出处。

可以搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/89767.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/89767.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【seismic unix相速度分析-频散曲线】

介绍Seismic Unix Seismic Unix&#xff08;SU&#xff09;是一个开源的地震数据处理软件包&#xff0c;主要用于地震数据的处理、分析和可视化。它由科罗拉多矿业学院的Center for Wave Phenomena开发&#xff0c;广泛应用于学术研究和工业领域。SU提供了一系列命令行工具&am…

3.前端和后端参数不一致,后端接不到数据的解决方案

目录 1.问题背景: (1).前端代码: (2).后端代码: (3).问题分析: [1]前端参数构造错误: [2].Api请求配置错误: 2.解决方案 (1).修改 role.js 中的 API 方法 (2).前端组件中的调用方式改成下面的而不是继续拼接了 3.总结: 1.问题背景: 我在接口开发过程中&#xff0c;前…

SpringBoot:整合quartz实现定时任务-MisFire的处理

文章目录 一、什么是MisFire二、MisFire发生的情况三、MisFire的补偿策略四、代码实现 一、什么是MisFire 简单理解为&#xff1a;定时任务&#xff0c;所错过的触发 二、MisFire发生的情况 1、资源紧张&#xff0c;定时任务请求不到对应的线程。 2、调度器关闭。 3、设置定…

返回json,优雅处理转换(如 0.85 → “85.00%“)

核心解决方案 通过 自定义序列化器 JsonSerialize 注解&#xff0c;实现 BigDecimal 到百分比字符串的自动转换。 1.1 自定义序列化器代码 java import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterx…

大语言模型LLM在训练/推理时的padding

讨论的是在训练大型语言模型&#xff08;Transformer-based models&#xff0c;比如GPT等&#xff09;时&#xff0c;文本序列的填充&#xff08;padding&#xff09;问题&#xff0c;即训练和推理时分辨填充在序列的左侧&#xff08;left padding&#xff09;或右侧&#xff0…

50 个常用 Docker 命令

1. Docker 基础命令 查看 Docker 版本 docker --version查看 Docker 运行状态 systemctl status docker查看 Docker 信息 docker info查看帮助信息 docker help2. 镜像管理 拉取镜像 docker pull <镜像名>查看本地镜像 docker images删除镜像 docker rmi <镜…

纹理贴图算法研究论文综述

纹理贴图&#xff08;Texture Mapping&#xff09;是计算机图形学和计算机视觉中的核心技术&#xff0c;广泛应用于三维重建、游戏渲染、虚拟现实&#xff08;VR&#xff09;、增强现实&#xff08;AR&#xff09;等领域。对其算法的研究涵盖了纹理生成、映射、缝合、优化等多个…

关于使用cursor tunnel链接vscode(避免1006 issue的做法)

详细步骤 第 1 步&#xff1a;在你的本地机器上准备好 Cursor 这一步很简单&#xff0c;你可能已经完成了。只需确保你的本地电脑上已经安装了 Cursor 桌面应用程序。 要做的事&#xff1a;无&#xff0c;只需确保 Cursor 已安装。 第 2 步&#xff1a;在远程服务器上安装 Curs…

Redis常见性能问题和解决方案有哪些

Redis 作为高性能的内存数据库&#xff0c;在电商等高并发场景中广泛使用&#xff0c;但可能因配置、使用不当或环境限制出现性能问题。以下是 Redis 常见的性能问题及其解决方案&#xff0c;结合电商场景&#xff0c;用中文简洁说明&#xff1a;### 1. **高延迟&#xff08;响…

明远智睿RK3588:创新了高性能,让顾虑烟消云散

在科技浪潮的推动下&#xff0c;高性能开发已经成为众多行业发展的核心驱动力。从智能交通的车路协同&#xff0c;到医疗领域的影像诊断&#xff1b;从智能家居的智能控制&#xff0c;到工业互联网的智能制造&#xff0c;每一个领域都对模块的性能提出了极高的要求。然而&#…

I Data Lab

万事开头难&#xff0c;尤其是和 0 与 1 打交道&#xff0c;和后面的实验相比&#xff0c;这次只能算个热身。但是喜欢运动的都知道&#xff0c;热身很重要&#xff01;任务目标我们先来看看 Datalab 需要我们做什么。主要是通过这次的作业来熟悉整型及浮点数的位表达形式&…

SQLite 安装使用教程

一、SQLite 简介 SQLite 是一个轻量级的关系型数据库管理系统&#xff0c;嵌入式、零配置、无需安装服务器&#xff0c;广泛应用于移动端开发&#xff08;如 Android&#xff09;、桌面应用、小型网站等场景。 二、下载安装 2.1 官方网站下载 访问 SQLite 官网 下载适用于操…

Python-Word文档、PPT、PDF以及Pillow处理图像详解

Python操作Word和PowerPoint文件操作Word文档命令来安装python-docx三方库。pip install python-docxfrom docx import Document from docx.shared import Inches, Pt, RGBColor from docx.enum.text import WD_ALIGN_PARAGRAPH from docx.enum.table import WD_TABLE_ALIGNMEN…

高可扩展属性建模设计:架构师的全局思考与落地方案

在复杂业务系统中&#xff0c;动态属性扩展始终是架构设计的核心难题之一。传统方案如宽表设计和EAV&#xff08;实体-属性-值&#xff09;模型分别在性能与扩展性上各有优势与劣势&#xff0c;但也都有明显局限。 为了兼顾性能、扩展性、维护成本&#xff0c;需要引入更灵活的…

数据结构入门:链表

链式存储结构通过使用指针将分散的存储单元链接起来&#xff0c;每个元素由数据部分和指针部分组成。 链式表的定义和特点 链式表的每个节点包含两个部分&#xff1a; 数据域&#xff1a;存储数据元素。指针域&#xff1a;存储下一个节点的内存地址。 链式表的头指针指向第一个…

达梦数据库DMHS介绍及安装部署

目录 概述 安装规划 安装步骤 上传安装包 更改权限 执行安装命令 源端和目的端处理 开启归档 开启逻辑日志 创建测试表 生成测试数据 配置目的端文件 配置源端文件 启动目的端 启动源端 装载数据 源端开启cpt模块 数据同步验证 随机数据验证 概述 达梦数据实时同…

BERT 模型详解:结构、原理解析

前言 在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;已经成为理解类任务的标配模型。相比 GPT 更擅长文本生成&#xff0c;BERT 则在语言理解任务上展现出卓越的能力。本文…

一、bfv_basics

目录 一、加密参数 EncryptionParameters类1. 三个重要的参数2. 参数的作用3. 同态加密方案4. 多项式模数的度 poly_modulus_degree (n)5. 密文模数 coeff_modulus (q)6. 明文模数 plain_modulus (t&#xff0c;这是 BFV 方案才有的&#xff0c;CKKS 没有) 二、上下文 SEALCont…

AI大模型LangChain架构介绍及其在环保领域的应用

1.LangChain 概述与架构 LangChain 是一个面向大型语言模型&#xff08;LLM&#xff09;应用的开发框架&#xff0c;其核心理念是将复杂的基于语言的 AI 系统拆分为可复用的模块&#xff0c;简化 LLM 与数据源的集成。LangChain 官方文档将其定义为“一个用于开发以 LLM 为驱动…

centos 7 安装NVIDIA Container Toolkit

要在 CentOS 7 上离线安装 NVIDIA Container Toolkit&#xff0c;需确保已安装 NVIDIA 驱动和 Docker 环境。以下是完整步骤及注意事项&#xff1a; ⚙️ 一、环境准备 验证 NVIDIA 驱动 运行 nvidia-smi 确认驱动已正确安装&#xff0c;若未安装需先离线安装驱动&#xff1a; …