温馨提示×

linux swagger怎么集成

小樊
39
2026-09-15 18:58:26
栏目: 智能运维

在 Linux 环境下集成 Swagger(通常指代 OpenAPI 文档工具),方式取决于你用的是哪种后端语言/框架。下面我按常见场景给你一个清晰、可操作的集成指南。


一、通用概念(先搞清楚)

  • Swagger UI:可视化接口页面
  • Swagger Editor:写 OpenAPI 文档
  • Swagger Codegen / OpenAPI Generator:代码生成
  • 现在主流标准是 OpenAPI 3.x

二、Java(Spring Boot)集成 Swagger(最常用)

1️⃣ 使用 springdoc-openapi(推荐)

替代旧的 springfox

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

示例 Controller

@RestController
@RequestMapping("/api")
public class UserController {

    @Operation(summary = "获取用户")
    @GetMapping("/user/{id}")
    public String getUser(@PathVariable Long id) {
        return "user:" + id;
    }
}

三、Python(FastAPI / Flask)

1️⃣ FastAPI(自带 Swagger)

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

2️⃣ Flask + Flasgger

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

四、Node.js(Express)

使用 swagger-ui-express

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

五、Linux 服务器部署 Swagger UI(不依赖代码)

1️⃣ 下载 Swagger UI

wget https://github.com/swagger-api/swagger-ui/archive/refs/heads/master.zip
unzip master.zip

2️⃣ 用 Nginx 托管

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/

七、你可以告诉我

为了给你更精准的步骤,你可以补充:

  1. 用的是哪种语言 / 框架?
  2. 代码自动生成文档还是手写 YAML
  3. Linux 是 CentOS / Ubuntu / 容器?

我可以直接给你一份可复制的完整配置

0