q1: 프로젝트 테스트 단계에서 검증용 샘플 데이터를 조회할 수 있는 API를 만드는 Python 코드
a1:
프로젝트 테스트 단계에서 검증용 샘플 데이터를 조회할 수 있는 API를 만드는 Python 코드입니다. FastAPI를 사용한 예제입니다. 샘플 데이터는 5개의 행과 4개의 컬럼으로 구성되어 있습니다.
예제 코드
from fastapi import FastAPI
from pydantic import BaseModel
# FastAPI 앱 생성
app = FastAPI()
# 데이터 모델 정의
class SampleData(BaseModel):
id: int
name: str
age: int
status: str
# 샘플 데이터 (5개의 행, 4개의 컬럼)
sample_data = [
{"id": 1, "name": "Alice", "age": 25, "status": "Active"},
{"id": 2, "name": "Bob", "age": 30, "status": "Inactive"},
{"id": 3, "name": "Charlie", "age": 35, "status": "Active"},
{"id": 4, "name": "Diana", "age": 40, "status": "Active"},
{"id": 5, "name": "Eve", "age": 28, "status": "Inactive"}
]
# 기본 경로
@app.get("/")
def read_root():
return {"message": "Welcome to the Sample Data API"}
# 모든 샘플 데이터 조회
@app.get("/samples", response_model=list[SampleData])
def get_samples():
return sample_data
# 특정 ID로 샘플 데이터 조회
@app.get("/samples/{sample_id}", response_model=SampleData)
def get_sample(sample_id: int):
sample = next((s for s in sample_data if s["id"] == sample_id), None)
if sample:
return sample
return {"error": "Sample not found"}, 404
실행 방법
1. 위 코드를 main.py로 저장.
2. FastAPI와 uvicorn 설치:
pip install fastapi uvicorn
3. 터미널에서 실행:
uvicorn main:app --reload
4. 브라우저에서 다음 URL에 접속:
• 모든 샘플 데이터 조회: http://127.0.0.1:8000/samples
• 특정 ID로 샘플 데이터 조회: http://127.0.0.1:8000/samples/1
결과 예시
1. 모든 샘플 데이터 조회
URL: http://127.0.0.1:8000/samples
응답:
[
{"id": 1, "name": "Alice", "age": 25, "status": "Active"},
{"id": 2, "name": "Bob", "age": 30, "status": "Inactive"},
{"id": 3, "name": "Charlie", "age": 35, "status": "Active"},
{"id": 4, "name": "Diana", "age": 40, "status": "Active"},
{"id": 5, "name": "Eve", "age": 28, "status": "Inactive"}
]
2. 특정 ID의 샘플 데이터 조회
URL: http://127.0.0.1:8000/samples/3
응답:
{
"id": 3,
"name": "Charlie",
"age": 35,
"status": "Active"
}
설명
1. 샘플 데이터 정의
• 5개의 행(row)과 4개의 컬럼(column)을 가지는 sample_data 리스트로 샘플 데이터를 작성.
2. API 엔드포인트
• /samples: 모든 샘플 데이터를 반환.
• /samples/{sample_id}: 특정 ID에 해당하는 샘플 데이터를 반환.
3. FastAPI 자동 문서화
• Swagger UI: http://127.0.0.1:8000/docs
• ReDoc: http://127.0.0.1:8000/redoc
이 코드는 검증 단계에서 테스트 데이터를 제공하는 간단한 API 서버로 활용될 수 있습니다. 필요에 따라 데이터 형식이나 API 경로를 확장할 수 있습니다.
프로젝트 테스트 단계에서 검증용 샘플 데이터를 조회할 수 있는 API를 만드는 Python 코드 250108
2025. 1. 8. 11:26
반응형