温馨提示×

如何学习linux swagger

小樊
67
2026-09-12 12:43:39
栏目: 智能运维

学习 Linux 下的 Swagger(更准确地说,是在 Linux 环境中使用 Swagger/OpenAPI 进行 API 设计、生成和测试),可以按照下面循序渐进的路线来。


一、先搞清楚几个概念(避免混淆)

  1. Swagger ≠ 某一个工具

    • Swagger 是一套规范(现在叫 OpenAPI Specification)
    • 常见相关工具:
      • Swagger UI(可视化 API 文档)
      • Swagger Editor(编写 OpenAPI 文件)
      • Swagger Codegen / OpenAPI Generator(代码生成)
      • 各语言中的 Swagger 集成(如 Springfox、springdoc-openapi)
  2. Linux 只是运行环境

    • 你在 Linux 上:
      • 安装 Node / Python / Java
      • 跑 Swagger UI
      • 用命令行生成代码
      • 部署 API 文档服务

二、基础准备(Linux 环境)

1. 基本 Linux 技能

你需要会:

cd / ls / mkdir / vim / curl / wget

以及:

  • 使用包管理器(apt / yum / dnf)
  • 简单的权限和进程管理

2. 安装运行环境(任选)

  • Node.js(最常用)
  • Python(轻量)
  • Java(企业级)

示例(Ubuntu):

sudo apt update
sudo apt install nodejs npm

三、从 Swagger UI 开始(最快上手)

方式一:直接用 Docker(推荐)

docker run -p 8080:8080 swaggerapi/swagger-ui

浏览器访问:

http://localhost:8080

方式二:Node 本地运行

npm install -g swagger-ui-express

四、学会写 OpenAPI / Swagger 文件(核心)

示例:swagger.yaml

openapi: 3.0.0
info:
  title: User API
  version: 1.0.0
paths:
  /users:
    get:
      summary: 获取用户列表
      responses:
        '200':
          description: 成功

学习资源

  • 官方规范:https://swagger.io/specification/
  • 在线编辑器:https://editor.swagger.io

五、在 Linux 上生成代码(进阶)

使用 OpenAPI Generator

npm install @openapitools/openapi-generator-cli -g

openapi-generator-cli generate \
  -i swagger.yaml \
  -g spring \
  -o ./generated

支持语言:

  • Java / Spring
  • Python
  • Go
  • Node.js

六、在项目中集成 Swagger(实战)

Spring Boot 示例(Linux 上开发)

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

访问:

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

Python(FastAPI)

from fastapi import FastAPI
app = FastAPI()

@app.get("/items")
def read_items():
    return [{"name": "item"}]

自带 Swagger:

http://localhost:8000/docs

七、推荐学习路径(总结)

✅ 第 1 周

  • Linux 基础
  • 跑 Swagger UI
  • 看懂 OpenAPI 文件

✅ 第 2 周

  • 手写 API 文档
  • 用 Editor 校验

✅ 第 3 周

  • 代码生成
  • 接入真实项目

✅ 第 4 周

  • 自动化文档
  • CI/CD 中集成 Swagger

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

  • 你用的 语言(Java / Python / Go)
  • 是 写文档 还是 自动生成
  • 是否是 服务器部署

我可以给你更具体的 Linux 实战教程。

0 踩