Swagger(现更名为OpenAPI Specification)是一套用于设计、构建、文档化和使用RESTful API的开源框架。其核心组件包括:
本教程聚焦Linux环境下Swagger工具的安装、配置及核心功能使用。
Docker是Linux下部署Swagger的最简方式,无需处理依赖问题。
若未安装Docker,可通过以下命令完成安装:
sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker
分别拉取Swagger Editor(编辑规范)和Swagger UI(查看文档+测试)的官方镜像:
docker pull swaggerapi/swagger-editor:v4.15.5
docker pull swaggerapi/swagger-ui:v4.15.5
docker run -d -p 8080:8080 swaggerapi/swagger-editor:v4.15.5
docker run -d -p 8081:8080 swaggerapi/swagger-ui:v4.15.5
http://<服务器IP>:8080进入Swagger Editor(用于编写/编辑OpenAPI规范);http://<服务器IP>:8081进入Swagger UI(用于查看文档并测试接口)。若需本地安装Swagger命令行工具,可通过Node.js的npm包管理器实现:
# 全局安装Swagger命令行工具
npm install -g swagger
安装完成后,可通过swagger --version验证是否安装成功。
OpenAPI规范是Swagger的核心,定义了API的**端点(Endpoints)、参数(Parameters)、请求/响应(Requests/Responses)**等信息,格式为JSON或YAML(推荐YAML,更易读)。
openapi: 3.0.0
info:
title: 用户管理API
version: 1.0.0
description: 提供用户增删改查功能的RESTful API
servers:
- url: http://localhost:8080/api
description: 本地开发服务器
paths:
/users:
get:
summary: 获取所有用户
responses:
'200':
description: 成功返回用户列表
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/User'
post:
summary: 创建新用户
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/User'
responses:
'201':
description: 用户创建成功
/users/{id}:
get:
summary: 根据ID获取用户
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
description: 成功返回用户信息
content:
application/json:
schema:
$ref: '#/components/schemas/User'
components:
schemas:
User:
type: object
properties:
id:
type: integer
format: int64
username:
type: string
email:
type: string
format: email
将上述内容保存为user-api.yaml,后续可通过Swagger Editor编辑或Swagger Codegen生成代码。
Swagger Editor是编写和预览OpenAPI规范的可视化工具,主要功能包括:
http://<服务器IP>:8080,进入Swagger Editor界面;user-api.yaml文件;Swagger UI是展示API文档并支持在线测试的核心工具,主要功能包括:
http://<服务器IP>:8081,进入Swagger UI界面;user-api.yaml文件(或输入远程规范URL);/users/{id}/get);id: 1),点击Try it out按钮,查看响应结果(如下图所示)。Swagger Codegen可根据OpenAPI规范自动生成客户端SDK(如Java、Python)或服务器端代码框架(如Spring Boot、Node.js),减少重复劳动。
# 使用Swagger Editor生成的user-api.json文件(需先导出)
swagger generate server -i user-api.json -l nodejs-server -o ./user-api-server
-i:指定OpenAPI规范文件的路径(JSON或YAML);-l:指定生成代码的编程语言(如java、python、spring);-o:指定生成代码的输出目录。生成完成后,进入输出目录(如./user-api-server),可通过npm install安装依赖,npm start启动服务器。
8080、8081),或通过docker ps确认容器是否正常运行;file:///path/to/user-api.yaml或远程URL可访问)。通过以上步骤,可在Linux系统上完成Swagger工具的安装、配置及核心功能使用,实现API文档的可视化、在线测试及代码自动生成,提升API开发效率。