在 Linux 上“回滚 Swagger” 要看你具体指的是什么场景,因为 Swagger 本身只是一个 API 规范/工具集,通常和部署方式有关。下面按最常见场景给你说明。
| 你可能的意思 | 实际含义 |
|---|---|
| Swagger 回滚 | Swagger UI / Swagger 版本回退 |
| Swagger 接口回滚 | API 接口版本回退 |
| Swagger 导致服务异常 | 回退整个服务 |
| Swagger 配置改错 | 回滚配置 |
Swagger UI 本质是一堆静态文件。
# 查看当前版本
ls /opt/swagger-ui
回滚方式:
# 下载指定版本
wget https://github.com/swagger-api/swagger-ui/archive/refs/tags/v4.15.5.tar.gz
# 解压
tar -zxvf v4.15.5.tar.gz
# 替换
rm -rf /opt/swagger-ui
mv swagger-ui-4.15.5 /opt/swagger-ui
✅ 回滚完成
# 查看当前容器
docker ps
# 停止
docker stop swagger-ui
# 回滚到指定版本
docker run -d --name swagger-ui \
-p 8080:8080 \
swaggerapi/swagger-ui:v4.15.5
或:
docker rm -f swagger-ui
docker run -d --name swagger-ui swaggerapi/swagger-ui:<旧版本>
<!-- 示例:springdoc -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.1.0</version> <!-- 回滚到旧版本 -->
</dependency>
mvn clean package
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.1.0'
systemctl restart your-service
# 或
./restart.sh
git log
git checkout <commit_id> -- src/main/resources/
或:
git revert <commit_id>
cp application.yml application.yml.bak
cp application.yml.20240101 application.yml
@Profile("!prod")
@Configuration
public class SwaggerConfig {
}
或:
springdoc:
api-docs:
enabled: false
swagger-ui:
enabled: false
重启服务 ✅
你可以直接回答我这几个问题,我可以给你精确命令:
Swagger 没有“内置回滚”,回滚本质是:版本回退 + 重启服务。
如果你愿意,可以直接把:
贴出来,我可以一步一步带你回滚 ✅