当前位置: 首页 > java >正文

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.xdnf.cn/news/14821.html

相关文章:

  • RabbitMQ 4.1.1初体验
  • 一个简单的分布式追踪系统
  • 区块链技术在物联网(IoT)中的核心应用场景
  • 利用TCP协议,创建一个多人聊天室
  • 图灵完备之路(数电学习三分钟)----数据选择器与总线
  • 本地区块链服务在物联网中的应用实例
  • python打卡day58@浙大疏锦行
  • 暴雨服务器成功中标华中科技大学集成电路学院服务器采购项目
  • JAVA-springboot 整合Redis
  • Go中使用国家新闻出版署实名认证
  • 【ACP】阿里云云计算高级运维工程师--ACP
  • 硬件嵌入式学习路线大总结(一):C语言与linux。内功心法——从入门到精通,彻底打通你的任督二脉!
  • Docker Desktop 安装到D盘(包括镜像下载等)+ 汉化
  • 7.4_面试_JAVA_
  • css-多条记录,自动换行与自动并行布局及gap兼容
  • linux_git的使用
  • 如何调节笔记本电脑亮度?其实有很多种方式可以调整亮度
  • 深入剖析MYSQL MVCC多版本并发控制+ReadView视图快照规避幻读问题
  • AD7780BRUZ-REEL ADI 24位低功耗ADC转换器 高精度传感器信号链一站式解决方案
  • js中的FileReader对象
  • 指针篇(7)- 指针运算笔试题(阿里巴巴)
  • 计算机科学导论(1)哈佛架构
  • 高功率的照明LN2系列助力电子元件薄膜片检测
  • 二叉树题解——验证二叉搜索树【LeetCode】后序遍历
  • 【狂飙AGI】第8课:AGI-行业大模型(系列2)
  • LangChain 全面入门
  • [ctfshow web入门] web94 `==`特性与intval特性
  • 【Python小工具】使用 OpenCV 获取视频时长的详细指南
  • 【Note】《深入理解Linux内核》Chapter 9 :深入理解 Linux 内核中的进程地址空间管理机制
  • FASTAPI+VUE3平价商贸管理系统