APIFuseAPIFuse
  • Providers
  • 변경 내역
  • Playground
  • 대시보드
  • APIFuse 문서
    • 시작하기
    • 인증과 connection
    • 플레이그라운드
    • OpenAPI와 스키마 아티팩트
    • MCP 엔드포인트
    • 개발자 MCP 가이드
    • 스키마 번들과 변환 경고
    • Next.js App Router 연동
    • FastAPI 연동
    • 에러 처리
    • 자주 묻는 질문
    • 추가 리소스
APIFuseAPIFuse

FastAPI 연동

APIFuse에서 생성된 Pydantic 아티팩트를 서버 사이드 FastAPI 코드에서 사용하는 방법입니다.

FastAPI 연동

개발자 MCP로 operation 계약과 생성된 Pydantic 아티팩트를 가져온 뒤, FastAPI 서버에서 APIFuse를 호출합니다. APIFuse 자격 증명은 서버 설정에 보관하고, 요청과 응답 페이로드 모두 유효성을 검사하세요.

1. Pydantic 모델 생성 또는 복사

코딩 에이전트에게 apifuse_dev_get_schema_bundle의 pydantic 대상을 요청하고, 생성된 모델을 서버 사이드 패키지에 배치합니다. 예: app/apifuse_generated/weather.py

2. API 라우트에서 APIFuse 호출

# app/routes/weather.py
import os

import httpx
from fastapi import APIRouter, Response

from app.apifuse_generated.weather import (
    ShortForecastInput,
    ShortForecastOutput,
)

router = APIRouter()


@router.post("/weather", response_model=ShortForecastOutput)
async def weather(input_model: ShortForecastInput) -> ShortForecastOutput | Response:
    api_key = os.environ["APIFUSE_API_KEY"]

    async with httpx.AsyncClient(timeout=15.0) as client:
        response = await client.post(
            "https://api.apifuse.com/v1/korea-weather/short-forecast",
            headers={"Authorization": f"Bearer {api_key}"},
            json=input_model.model_dump(mode="json"),
        )

    if response.status_code >= 400:
        # 모든 실패를 하나의 상태 코드로 뭉개지 말고 APIFuse의 에러 판정을
        # (상태와 body 바이트 그대로) 전달하세요. HTTPException은 body를
        # {"detail": ...} 아래로 감싸 code / retryable / source 필드를 가립니다.
        # 자세한 내용은 에러 처리 가이드를 참고하세요.
        return Response(
            content=response.content,
            status_code=response.status_code,
            # 업스트림 Content-Type과 무관하게 JSON으로 응답해 예기치 않은
            # non-JSON body가 same-origin HTML로 렌더링되지 않게 하고,
            # 가이드가 의존하는 재시도·상관관계 헤더는 유지합니다.
            media_type="application/json",
            headers={
                key: value
                for key, value in {
                    "Retry-After": response.headers.get("retry-after"),
                    "X-Request-Id": response.headers.get("x-request-id"),
                }.items()
                if value is not None
            },
        )

    return ShortForecastOutput.model_validate(response.json())

3. 운영 지침

  • APIFuse API 키는 서버 사이드 환경 변수 또는 시크릿 관리 시스템에 보관하세요.
  • 생성된 Pydantic 모델로 발신 입력과 수신 출력의 유효성을 검사하세요.
  • 브라우저와 모바일 클라이언트에는 애플리케이션 고유의 응답 형태를 반환하세요.
  • provider 자격 증명, 조직 인증 정보, connection 식별자를 클라이언트에 노출하지 마세요.
  • CI에서 bundleHash와 targetArtifactHash를 모니터링하여, 스키마 변경 시 생성된 모델을 검토하세요.

개발자 MCP 경계

개발자 MCP의 apifuse_dev_* 도구는 FastAPI용 스키마, 경고, 연동 스니펫을 제공합니다. provider operation 실행은 위 예시처럼 서버 사이드 게이트웨이 호출로 수행합니다.

On this page

FastAPI 연동1. Pydantic 모델 생성 또는 복사2. API 라우트에서 APIFuse 호출3. 운영 지침개발자 MCP 경계
APIFuseAPIFuse
  • Providers
  • 변경 내역
  • Playground
  • 대시보드
  • APIFuse 문서
    • 시작하기
    • 인증과 connection
    • 플레이그라운드
    • OpenAPI와 스키마 아티팩트
    • MCP 엔드포인트
    • 개발자 MCP 가이드
    • 스키마 번들과 변환 경고
    • Next.js App Router 연동
    • FastAPI 연동
    • 에러 처리
    • 자주 묻는 질문
    • 추가 리소스
Providers
  • API Reference
    • 아마존 재팬
    • 배달의민족 프로바이더
    • Buyee
    • 캐치테이블 식당 검색 및 예약
    • 차란 커머스
    • Daangn 공개 매물
    • 다이소 상품 및 매장 데이터
    • Danawa price comparison
    • Demaecan
    • Ekitan
    • 여기어때 국내 숙소
    • Google Flights
    • 한강 수위
    • 핫페퍼 구루메
    • 현대카드
    • Jalan
    • 일본 국회 회의록
    • 일본 재난 알림
    • 일본 EDINET 공시
    • 일본 e-Gov 법령
    • 일본 e-Stat
    • 일본 GSI 지오코딩
    • 일본 e-Gov 오픈데이터
    • Japan Post ZIP
    • 일본 공휴일
    • JMA Weather
    • 카카오맵 장소 검색과 길찾기
    • 카카오 T 택시 호출
    • 한국 주소 검색
    • AirKorea Real-time Air Pollution
    • 한국 아파트 전월세 실거래가
    • 한국 아파트 매매 실거래가
    • 나라장터 입찰공고
    • 건축물대장 (Korea Building Register)
    • Korea Business Verify
    • 대한민국 고캠핑
    • 한국 DART 기업 재무정보
    • DART 기업 정보
    • 한눈에 보는 문화정보
    • 한국 재난 알림
    • Korea Emergency Hospital
    • 한국 ETF
    • 한국 전기차 충전소
    • 한국 주유소 유가
    • Korea Holiday
    • Korea Hospital Info
    • Korea Land Price
    • 식약처 의약품 안전정보
    • 식약처 식품 안전정보
    • 쓰레기 배출 정보
    • Korea National Law Search and Lookup
    • NEIS 급식 메뉴
    • Carrier List and Delivery Tracking
    • Korea Pharmacy
    • 한국 인구 통계
    • 한국 주식시장지수
    • 한국 주식시세
    • 한국 열차 시간표
    • 한국 기상청 예보 데이터
    • Korea Weather Forecast
    • 대한민국 복지서비스
    • 창업진흥원 K-Startup
    • LH 청약 공고
    • Market Kurly product data
    • Mercari
    • 모두의주차장
    • 네이버 블로그 검색
    • 네이버 항공권 검색
    • 네이버 지도
    • 네이버 뉴스 검색
    • NOL 숙소
    • 오늘의집 스토어 및 콘텐츠
    • 라쿠텐 이치바
    • 라쿠텐 트래블
    • SEC EDGAR Filings
    • 서울 따릉이
    • 서울 실시간 혼잡도
    • 서울 지하철 실시간 도착
    • Shinhan Bank
    • 신한카드
    • Skiplagged
    • SUUMO
    • Swing Taxi
    • Tabelog
    • TableCheck
    • Weverse Provider
    • 야후! 쇼핑 (일본)
    • Yogiyo
    • 조조타운
APIFuseAPIFuse

FastAPI 연동

APIFuse에서 생성된 Pydantic 아티팩트를 서버 사이드 FastAPI 코드에서 사용하는 방법입니다.

FastAPI 연동

개발자 MCP로 operation 계약과 생성된 Pydantic 아티팩트를 가져온 뒤, FastAPI 서버에서 APIFuse를 호출합니다. APIFuse 자격 증명은 서버 설정에 보관하고, 요청과 응답 페이로드 모두 유효성을 검사하세요.

1. Pydantic 모델 생성 또는 복사

코딩 에이전트에게 apifuse_dev_get_schema_bundle의 pydantic 대상을 요청하고, 생성된 모델을 서버 사이드 패키지에 배치합니다. 예: app/apifuse_generated/weather.py

2. API 라우트에서 APIFuse 호출

# app/routes/weather.py
import os

import httpx
from fastapi import APIRouter, Response

from app.apifuse_generated.weather import (
    ShortForecastInput,
    ShortForecastOutput,
)

router = APIRouter()


@router.post("/weather", response_model=ShortForecastOutput)
async def weather(input_model: ShortForecastInput) -> ShortForecastOutput | Response:
    api_key = os.environ["APIFUSE_API_KEY"]

    async with httpx.AsyncClient(timeout=15.0) as client:
        response = await client.post(
            "https://api.apifuse.com/v1/korea-weather/short-forecast",
            headers={"Authorization": f"Bearer {api_key}"},
            json=input_model.model_dump(mode="json"),
        )

    if response.status_code >= 400:
        # 모든 실패를 하나의 상태 코드로 뭉개지 말고 APIFuse의 에러 판정을
        # (상태와 body 바이트 그대로) 전달하세요. HTTPException은 body를
        # {"detail": ...} 아래로 감싸 code / retryable / source 필드를 가립니다.
        # 자세한 내용은 에러 처리 가이드를 참고하세요.
        return Response(
            content=response.content,
            status_code=response.status_code,
            # 업스트림 Content-Type과 무관하게 JSON으로 응답해 예기치 않은
            # non-JSON body가 same-origin HTML로 렌더링되지 않게 하고,
            # 가이드가 의존하는 재시도·상관관계 헤더는 유지합니다.
            media_type="application/json",
            headers={
                key: value
                for key, value in {
                    "Retry-After": response.headers.get("retry-after"),
                    "X-Request-Id": response.headers.get("x-request-id"),
                }.items()
                if value is not None
            },
        )

    return ShortForecastOutput.model_validate(response.json())

3. 운영 지침

  • APIFuse API 키는 서버 사이드 환경 변수 또는 시크릿 관리 시스템에 보관하세요.
  • 생성된 Pydantic 모델로 발신 입력과 수신 출력의 유효성을 검사하세요.
  • 브라우저와 모바일 클라이언트에는 애플리케이션 고유의 응답 형태를 반환하세요.
  • provider 자격 증명, 조직 인증 정보, connection 식별자를 클라이언트에 노출하지 마세요.
  • CI에서 bundleHash와 targetArtifactHash를 모니터링하여, 스키마 변경 시 생성된 모델을 검토하세요.

개발자 MCP 경계

개발자 MCP의 apifuse_dev_* 도구는 FastAPI용 스키마, 경고, 연동 스니펫을 제공합니다. provider operation 실행은 위 예시처럼 서버 사이드 게이트웨이 호출로 수행합니다.

On this page

FastAPI 연동1. Pydantic 모델 생성 또는 복사2. API 라우트에서 APIFuse 호출3. 운영 지침개발자 MCP 경계