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 をプロダクトに必要なデータ形式に整えます。