#!/bin/bash # Swagger 文档生成脚本 # 用途:为 Gateway 服务生成 Swagger API 文档 set -e # 进入 gateway 目录 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$SCRIPT_DIR/gateway" echo "======================================" echo "开始生成 Swagger 文档" echo "======================================" # 检查 swag 是否已安装 if ! command -v swag &> /dev/null; then echo "❌ swag 未安装!" echo "请安装 swag:" echo " go install github.com/swaggo/swag/cmd/swag@latest" echo "" echo "安装完成后,请确保 \$GOPATH/bin 在 PATH 中:" echo " export PATH=\$PATH:\$(go env GOPATH)/bin" exit 1 fi echo "✅ swag 版本: $(swag --version)" echo "" # 添加 GOPATH/bin 到 PATH export PATH="$PATH:$(go env GOPATH)/bin" # 生成 Swagger 文档 echo "📝 正在生成 Swagger 文档..." swag init --parseDependency --parseInternal \ --parseDepth 1 \ --output ./docs echo "" echo "✅ Swagger 文档生成完成!" echo "" echo "生成的文件:" echo " - docs/docs.go" echo " - docs/swagger.json" echo " - docs/swagger.yaml" echo "" echo "访问 Swagger UI:" echo " http://localhost:3000/swagger/index.html" echo ""