在 Linux 环境下使用 Swagger,常见场景主要有两个:
下面我按“从零开始”讲,适合新手。
# 启动 Swagger Editor
docker run -d -p 8080:8080 swaggerapi/swagger-editor
# 启动 Swagger UI
docker run -d -p 8081:8080 swaggerapi/swagger-ui
浏览器访问:
# 安装 Node.js
sudo apt update
sudo apt install nodejs npm
# 下载 Swagger Editor
wget https://github.com/swagger-api/swagger-editor/archive/refs/heads/master.zip
unzip master.zip
cd swagger-editor-master
npm install
npm start
访问:
http://localhost:8080
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:
message:
type: string
在 Swagger Editor 粘贴即可看到效果。
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.2.0</version>
</dependency>
访问:
http://localhost:8080/swagger-ui.html
from fastapi import FastAPI
app = FastAPI()
@app.get("/items")
def read_items():
return {"msg": "hello"}
启动后访问:
http://localhost:8000/docs
go install github.com/swaggo/swag/cmd/swag@latest
swag init
npm install -g @openapitools/openapi-generator-cli
openapi-generator-cli generate \
-i swagger.yaml \
-g java \
-o ./out
-p 9090:8080
Linux 上用 Swagger = Docker 跑 Editor/UI + 写 OpenAPI YAML
如果你愿意,可以告诉我:
我可以直接给你一套可跑的配置。