温馨提示×

怎样学linux swagger

小樊
43
2026-10-09 13:12:22
栏目: 智能运维

学习 Linux 下使用 Swagger(OpenAPI),可以按下面这条路线来,从基础到实战,比较清晰。


一、先搞清楚:Swagger 是什么

Swagger 是一套 API 描述与可视化工具,现在标准叫 OpenAPI。

常见组成部分:

  • OpenAPI Specification(规范):用 YAML / JSON 描述接口
  • Swagger UI:网页形式查看和调试接口
  • Swagger Editor:写 OpenAPI 文档
  • Swagger Codegen / OpenAPI Generator:根据文档生成代码

二、Linux 环境准备

1. 基础环境

# 查看系统
uname -a

# 安装基础工具
sudo apt update
sudo apt install -y curl wget git openjdk-11-jdk  # Ubuntu/Debian

2. 安装 Docker(推荐)

Swagger 很多工具用 Docker 最方便:

sudo apt install docker.io
sudo systemctl enable docker

三、最快上手:Swagger UI(Linux)

方式一:Docker 启动 Swagger UI

docker run -p 8080:8080 \
  -e SWAGGER_JSON=/foo/swagger.yaml \
  -v $(pwd):/foo \
  swaggerapi/swagger-ui

浏览器访问:

http://localhost:8080

四、写第一个 OpenAPI 文档(重点)

新建 swagger.yaml:

openapi: 3.0.0
info:
  title: 示例 API
  version: 1.0.0
paths:
  /hello:
    get:
      summary: 打招呼
      responses:
        '200':
          description: 成功
          content:
            application/json:
              schema:
                type: object
                properties:
                  msg:
                    type: string

用 Swagger UI 加载这个文件即可看到接口。


五、在代码中使用 Swagger(常见语言)

1. Java(Spring Boot)

springfox / springdoc-openapi

依赖(Maven):

<dependency>
  <groupId>org.springdoc</groupId>
  <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
</dependency>

访问:

/swagger-ui.html

2. Python(FastAPI)

pip install fastapi uvicorn

FastAPI 自带 Swagger:

/docs

3. Go(swag)

go install github.com/swaggo/swag/cmd/swag@latest
swag init

六、常用命令行工具(Linux 很实用)

swagger-cli

npm install -g swagger-cli
swagger-cli validate swagger.yaml

openapi-generator

docker run -v $(pwd):/local openapitools/openapi-generator-cli

七、学习路线建议

  1. ✅ 先学 OpenAPI YAML 写法
  2. ✅ 用 Swagger UI 看接口
  3. ✅ 在项目中集成 Swagger
  4. ✅ 学 代码生成
  5. ✅ 学 接口测试 & Mock

八、推荐学习资源

  • 官方:https://swagger.io
  • OpenAPI 规范:https://spec.openapis.org
  • Swagger Editor:https://editor.swagger.io
  • B 站 / 慕课:搜「OpenAPI Swagger 教程」

如果你愿意,可以告诉我:

  • 你用的是 哪种语言(Java / Python / Go)
  • 是 看接口 还是 写接口文档
  • 是否在 服务器 / 容器环境

我可以给你更具体的 Linux + Swagger 实战示例。

0 踩