在 Linux 环境下集成 Swagger(通常指代 OpenAPI 文档工具),方式取决于你用的是哪种后端语言/框架。下面我按常见场景给你一个清晰、可操作的集成指南。
替代旧的 springfox
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.3.0</version>
</dependency>
http://localhost:8080/swagger-ui.html
@RestController
@RequestMapping("/api")
public class UserController {
@Operation(summary = "获取用户")
@GetMapping("/user/{id}")
public String getUser(@PathVariable Long id) {
return "user:" + id;
}
}
from fastapi import FastAPI
app = FastAPI()
@app.get("/items/{item_id}")
def read_item(item_id: int):
return {"item_id": item_id}
访问:
http://localhost:8000/docs
pip install flasgger
from flask import Flask
from flasgger import Swagger
app = Flask(__name__)
swagger = Swagger(app)
@app.route('/api/user')
def user():
"""获取用户
---
responses:
200:
description: OK
"""
return "user"
访问:
http://localhost:5000/apidocs
npm install swagger-ui-express yamljs
const express = require('express');
const swaggerUi = require('swagger-ui-express');
const YAML = require('yamljs');
const swaggerDocument = YAML.load('./swagger.yaml');
const app = express();
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
app.listen(3000);
访问:
http://localhost:3000/api-docs
wget https://github.com/swagger-api/swagger-ui/archive/refs/heads/master.zip
unzip master.zip
server {
listen 80;
server_name api.example.com;
location /swagger/ {
root /opt/swagger-ui-master/dist;
index index.html;
}
}
# 查看接口文档是否启动
curl http://localhost:8080/v3/api-docs
# 生成客户端代码
openapi-generator-cli generate -i api.yaml -g java -o out/
为了给你更精准的步骤,你可以补充:
我可以直接给你一份可复制的完整配置。