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

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.dtcms.com/a/266782.html

相关文章:

  • 高效的在Vue3中使用Vuex
  • Android-自定义View的实战学习总结
  • python训练day49 CBAM
  • 流程分类框架体系设计应该梳理到L5还是L6?
  • DePIN 普惠结构的缺失拼图,为什么是 UBI Network?
  • js中的捕获阶段和冒泡阶段
  • vue2/3安装依赖报错,终极解决方案
  • Kuberrnetes 服务发布
  • 【MySQL】十六,MySQL窗口函数
  • Mint密室 · 猫猫狐狐的“特征选择”囚室逃脱
  • Ubuntu下的Tomcat服务器部署
  • Linux基础 -- NAND Flash UBIFS基础特性及注意点
  • 【沉浸式解决问题】idea开发中mapper类中突然找不到对应实体类
  • 【Agent】构建专家级SQL Agent交互
  • Qt控件核心属性全解析
  • 【Bluedroid】 BLE 隐私保护机制深度剖析(btm_ble_reset_id)
  • [学习记录]Unity-Shader-曲面细分着色器
  • IDEA-常用的开发组件
  • 用户进程的借壳挂靠之术
  • JAVA-springboot 整合Redis
  • 大数据在UI前端的应用创新研究:基于图神经网络的用户关系网络分析
  • [C++] C++多重继承:深入解析复杂继承关系
  • Blob分析及形态学分析
  • AWS 中如何添加一个内部域名
  • Spring AI Alibaba 来啦!!!
  • 本地区块链服务在物联网中的应用实例
  • M30280F8HP#U5B 瑞萨16位工业MCU微控制器,CAN 2.0B+专用PWM,电机控制专家!
  • 使用mindie:2.0.RC2-800I-A2-py311-openeuler24.03-lts制作一个通用的模型推理性能测试的镜像
  • Flynn分类法知识点梳理
  • 微服务架构的演进:迈向云原生