在 Linux 环境下写 Swagger 文档,本质上和在 Windows / macOS 上一样,只是工具运行方式、目录结构、命令是 Linux 风格。下面按「最常用场景」给你一个完整说明。
Swagger 文档主要有 两种写法:
mkdir -p ~/swagger
cd ~/swagger
vim swagger.yaml
openapi: 3.0.0
info:
title: User API
version: 1.0.0
paths:
/users:
get:
summary: 获取用户列表
responses:
'200':
description: 成功
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
docker run -p 8080:8080 \
-v $PWD/swagger.yaml:/swagger.yaml \
swaggerapi/swagger-ui
浏览器访问:
http://localhost:8080
# Linux 下运行
./mvnw spring-boot:run
@Operation(summary = "获取用户")
@GetMapping("/users")
public List<User> getUsers() {
return userService.list();
}
依赖:
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-annotations</artifactId>
</dependency>
访问:
http://localhost:8080/swagger-ui.html
pip install fastapi uvicorn
from fastapi import FastAPI
app = FastAPI()
@app.get("/users")
def get_users():
return [{"id": 1, "name": "linux"}]
运行:
uvicorn main:app --host 0.0.0.0 --port 8000
自动文档:
http://服务器IP:8000/docs
go install github.com/swaggo/swag/cmd/swag@latest
swag init
// @Summary 获取用户
// @Router /users [get]
访问:
http://localhost:8080/swagger/index.html
| 工具 | 命令 |
|---|---|
| Swagger Editor | docker run -p 8081:8080 swaggerapi/swagger-editor |
| Swagger UI | docker run -p 8080:8080 swaggerapi/swagger-ui |
| 校验 YAML | swagger validate swagger.yaml |
| 生成客户端 | openapi-generator-cli |
/opt/swagger/systemd 或 docker 管理我可以给你 更精确的示例,只要告诉我:
我可以直接给你一套可复制的 Linux 示例。