在 Linux 上使用 Swagger,通常取决于你是查看/调试 API,还是生成/开发 API。下面按最常见的几种场景给你一个清晰、实用的说明。
Swagger 现在通常指 OpenAPI + Swagger 工具链,用于:
常见工具:
如果你的后端项目已经集成 Swagger:
http://服务器IP:端口/swagger-ui.html
或:
http://服务器IP:端口/swagger
例如:
curl http://localhost:8080/swagger-ui.html
前提:后端已启用 Swagger(Spring Boot / FastAPI / Node.js 等)
docker run -p 8080:8080 \
-e SWAGGER_JSON=/app/swagger.json \
-v $(pwd):/app \
swaggerapi/swagger-ui
访问:
http://localhost:8080
适合:
swagger.json / openapi.yamlwget https://github.com/swagger-api/swagger-ui/archive/refs/heads/master.zip
unzip master.zip
cd swagger-ui-master/dist
python3 -m http.server 8080
访问:
http://localhost:8080
docker run -d -p 8081:8080 swaggerapi/swagger-editor
访问:
http://localhost:8081
你可以在浏览器里写 openapi: 3.0.0 规范。
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
</dependency>
访问:
http://localhost:8080/swagger-ui/
from fastapi import FastAPI
app = FastAPI()
@app.get("/items")
def read_items():
return {"item": "hello"}
自动生成:
http://localhost:8000/docs
npm install swagger-ui-express swagger-jsdoc
brew install openapi-generator # macOS
# 或 linux
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.6.0/openapi-generator-cli-6.6.0.jar
生成前端/后端代码:
java -jar openapi-generator-cli.jar generate \
-i swagger.yaml \
-g python \
-o ./client
curl 测试接口lynx / w3m(不推荐)| 名称 | 说明 |
|---|---|
| Swagger | 老品牌 |
| OpenAPI | 规范标准 |
| Swagger UI | 展示工具 |
✅ 现在一般说 Swagger = OpenAPI + UI
| 你想做什么 | 推荐方式 |
|---|---|
| 看别人接口 | 浏览器访问 Swagger UI |
| 本地看文档 | Docker 跑 Swagger UI |
| 写 API 文档 | Swagger Editor |
| 写后端 | 框架集成 Swagger |
| 生成代码 | OpenAPI Generator |
如果你愿意,可以告诉我:
我可以直接给你一步一步的命令。