ちゃなべの備忘録

ほぼ備忘録です。

fastAPIを触ってみた【備忘録】

はじめに

ハッカソンの準備でFastAPIを触る必要があったので、触ってみました。

参考

fastapi.tiangolo.com

イントロ

さぁやってみんべ。

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

とりあえずチュートリアルはさらっとこうか。

fastapi.tiangolo.com

参考

一番参考 DockerでFastAPIの環境を作ってGETするまで

二番参考 FastAPIでPythonアプリを素早く構築する |Kinsta®

公式 FastAPI