Swagger 本身只是一个 API 规范/文档工具,在 Linux 上“启动 Swagger”通常有几种常见场景。下面按最常见情况给你说明,你可以对照自己的需求。
docker run -p 8080:8080 \
-e SWAGGER_JSON=/swagger.json \
-v $(pwd):/usr/share/nginx/html/swagger \
swaggerapi/swagger-ui
访问:
http://服务器IP:8080
如果你已经有 swagger.json 或 openapi.yaml:
docker run -p 8080:8080 \
-v $(pwd)/swagger.json:/swagger.json \
-e SWAGGER_JSON=/swagger.json \
swaggerapi/swagger-ui
# 安装
npm install -g swagger-ui-dist
# 启动(用 http-server)
npm install -g http-server
http-server node_modules/swagger-ui-dist -p 8080
访问:
http://服务器IP:8080
<!-- Springfox Swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
</dependency>
或(推荐):
<!-- Springdoc OpenAPI -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.2.0</version>
</dependency>
java -jar your-app.jar
访问:
http://服务器IP:端口/swagger-ui.html
# 或
http://服务器IP:端口/swagger-ui/index.html
docker run -d -p 8081:8080 swaggerapi/swagger-editor
访问:
http://服务器IP:8081
npm install -g swagger-cli
swagger-cli validate swagger.yaml
⚠️ swagger-cli 不能启动服务,只用于校验。
# 查看端口
netstat -tunlp | grep 8080
# 防火墙
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
| 目的 | 推荐方式 |
|---|---|
| 看接口文档 | Docker 启动 Swagger UI |
| 写 API | Swagger Editor |
| Spring Boot | 直接启动项目 |
| 离线文档 | swagger-ui-dist |
如果你愿意,可以告诉我:
swagger.json 还是没生成我可以直接给你 一条可复制执行的命令 ✅