1.1. Test GET /users
daivietblood-api/users → GETExpected response:
{
"statusCode": 200,
"body": "[]"
}
Replace YOUR_API_URL with your actual Invoke URL.
2.1. Create a User (POST /users)
curl -X POST https://YOUR_API_URL/prod/users \
-H "Content-Type: application/json" \
-d '{
"email": "nguyen.van.a@example.com",
"name": "Nguyen Van A",
"blood_type": "O+",
"phone": "0901234567"
}'
Expected response:
{
"id": 1,
"email": "nguyen.van.a@example.com",
"name": "Nguyen Van A",
"blood_type": "O+",
"phone": "0901234567"
}
2.2. Get All Users (GET /users)
curl https://YOUR_API_URL/prod/users
Expected response:
[
{
"id": 1,
"email": "nguyen.van.a@example.com",
"name": "Nguyen Van A",
"blood_type": "O+",
"phone": "0901234567",
"created_at": "2025-12-09T10:00:00.000Z"
}
]
2.3. Create Emergency Request (POST /emergency-requests)
curl -X POST https://YOUR_API_URL/prod/emergency-requests \
-H "Content-Type: application/json" \
-d '{
"requester_name": "Benh vien Cho Ray",
"blood_type": "AB-",
"units_needed": 5,
"hospital": "Cho Ray Hospital",
"urgency": "critical"
}'
Expected response:
{
"id": 1,
"message": "Emergency request created"
}
2.4. Get Emergency Requests (GET /emergency-requests)
curl https://YOUR_API_URL/prod/emergency-requests
DaiVietBlood API| Request Name | Method | URL |
|---|---|---|
| Get Users | GET | {{baseUrl}}/users |
| Create User | POST | {{baseUrl}}/users |
| Get Emergency Requests | GET | {{baseUrl}}/emergency-requests |
| Create Emergency Request | POST | {{baseUrl}}/emergency-requests |
baseUrl: https://YOUR_API_URL/prodGo to CloudWatch Console → Log groups
Find log groups:
/aws/lambda/daivietblood-get-users/aws/lambda/daivietblood-create-user/aws/lambda/daivietblood-emergency-requestsCheck recent log streams for:
| Issue | Cause | Solution |
|---|---|---|
| 502 Bad Gateway | Lambda error | Check CloudWatch logs for details |
| Timeout | Lambda cannot reach RDS | Verify VPC, Subnets, Security Groups |
| CORS error | CORS not configured | Enable CORS on API Gateway |
| 500 Internal Server Error | Database connection failed | Check DB credentials in environment variables |
Expected performance:
| Endpoint | Cold Start | Warm |
|---|---|---|
| GET /users | ~3-5s | ~200-500ms |
| POST /users | ~3-5s | ~200-500ms |
| GET /emergency-requests | ~3-5s | ~200-500ms |
💡 Tip: Lambda cold start in VPC can be slow. Consider using Provisioned Concurrency for production workloads.