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 경로를 확장할 수 있습니다.

반응형

+ Recent posts