APIFuse

FastAPI 連携

サーバー側 FastAPI アプリケーションから APIFuse を呼び出します。

FastAPI 連携

サーバー上で実行される FastAPI route から APIFuse を使用します。APIFuse API キーはサーバー設定に保存し、受信リクエストデータと APIFuse response の両方を検証してください。

1. 型付きモデルを追加する

schema bundle の Pydantic model を使用するか、API リファレンスの operation schema に一致する model を定義します。

2. gateway を呼び出す

import os

import httpx
from fastapi import APIRouter, HTTPException

router = APIRouter()


@router.post("/places")
async def places(input_payload: dict) -> dict:
    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/kakaomap/search",
            headers={"Authorization": f"Bearer {api_key}"},
            json=input_payload,
        )

    if response.status_code >= 400:
        raise HTTPException(status_code=502, detail="apifuse_request_failed")

    return response.json()

3. アプリケーションデータを返す

ブラウザまたはモバイルクライアントに返す前に、APIFuse response をプロダクトに必要なデータ形式に整えます。