9898.sh 1.4 KB
#!/bin/bash

echo "=== 测试 API Gateway 调用 ==="

API_ID="o7epe60qzf"

# 获取所有阶段
STAGES=$(aws apigateway get-stages --rest-api-id $API_ID --query 'item[*].stageName' --output text)

if [ -z "$STAGES" ] || [ "$STAGES" = "None" ]; then
    echo "❌ 没有找到阶段"
    echo "请先创建部署:"
    echo "aws apigateway create-deployment --rest-api-id $API_ID --stage-name prod"
else
    for STAGE in $STAGES; do
        echo ""
        echo "=== 测试阶段: $STAGE ==="
        URL="https://${API_ID}.execute-api.us-east-1.amazonaws.com/${STAGE}"
        echo "调用 URL: $URL"
        
        echo ""
        echo "1. 测试根路径 (/):"
        curl -v -X GET $URL/ 2>&1 | grep -E "(Connected to|HTTP/|> GET|> Host|< HTTP|502|404|403|200)"
        
        echo ""
        echo "2. 测试健康检查 (/health):"
        curl -v -X GET $URL/health 2>&1 | grep -E "(Connected to|HTTP/|> GET|> Host|< HTTP|502|404|403|200)"
        
        echo ""
        echo "3. 测试 API 路径 (/api):"
        curl -v -X GET $URL/api 2>&1 | grep -E "(Connected to|HTTP/|> GET|> Host|< HTTP|502|404|403|200)"
        
        echo ""
        echo "4. 简单状态码测试:"
        echo "根路径: $(curl -s -o /dev/null -w "%{http_code}" $URL/)"
        echo "健康检查: $(curl -s -o /dev/null -w "%{http_code}" $URL/health)"
        echo "API路径: $(curl -s -o /dev/null -w "%{http_code}" $URL/api)"
    done
fi