在 Linux 环境下编写 Swagger 文档(现在通常指 OpenAPI 规范),一般有三种常见方式:
下面分别说明,并给出 Linux 下的实际操作示例。
openapi: 3.0.0
info:
title: User API
version: 1.0.0
description: Linux 环境下的用户管理接口
servers:
- url: http://localhost:8080
paths:
/users:
get:
summary: 获取用户列表
responses:
'200':
description: 成功
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: integer
name:
type: string
保存为:
vim swagger.yaml
docker run -d -p 8080:8080 swaggerapi/swagger-editor
浏览器访问:
http://localhost:8080
@RestController
@RequestMapping("/users")
public class UserController {
@GetMapping
@Operation(summary = "获取用户列表")
public List<User> getUsers() {
return List.of();
}
}
依赖(Maven):
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.3.0</version>
</dependency>
访问:
http://localhost:8080/swagger-ui.html
go install github.com/swaggo/swag/cmd/swag@latest
swag init
代码中写注解:
// @Summary 获取用户
// @Router /users [get]
生成:
docs/docs.swagger.json
from fastapi import FastAPI
app = FastAPI()
@app.get("/users")
def get_users():
return [{"id": 1, "name": "Tom"}]
自动生成:
http://localhost:8000/docs
npm install -g @apidevtools/swagger-cli
swagger-cli validate swagger.yaml
✅ 小型项目
→ 手写 YAML + Swagger Editor
✅ 中大型项目
→ 代码注解 + 自动生成
✅ CI/CD
→ swagger-cli 校验 + 自动部署文档
如果你能告诉我:
我可以给你更具体的 Swagger 模板和示例。