はじめに
ハッカソンの準備でFastAPIを触る必要があったので、触ってみました。
参考
イントロ
さぁやってみんべ。
docker環境
いつものごとく。 とりあえずpython3の環境を構築
FROM python:3.9-slim WORKDIR /app
(そういえば、docker-compose.yaml
じゃなくて compose.yaml
でいいらしい(公式推奨)よ!!)
version: "3" services: api: build: . volumes: - ./app:/app working_dir: /app ports: - 8080:8080 tty: true
諸々install
# pipのバージョンアップ $ pip install --upgrade pip # fastapiをinstall $ pip3 install fastapi # ローカルウェブサーバー $ pip3 install "uvicorn[standard]"
fastapiの開始
main.py
を書いてみた。
from typing import Union from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"} @app.get("/items/{item_id}") def read_item(item_id: int, q: Union[str, None] = None): return {"item_id": item_id, "q": q}
これをunicorn
で実行!
$ uvicorn main:app --reload --host 0.0.0.0 --port 8080
すると、
がもう利用可能に!!
すごいね、早いね笑
tutorial
とりあえずチュートリアルはさらっとこうか。
参考
一番参考 DockerでFastAPIの環境を作ってGETするまで
二番参考 FastAPIでPythonアプリを素早く構築する |Kinsta®
公式 FastAPI