FastAPIでHello World。Pythonの爆速Webフレームワークを試してみよう!

FastAPIでHello Worldをトライしてみる記事になります。

初めてFastAPIを使ってみる人は参考にしてみてください。

目次

システム構成とディレクトリ構成

今回はDockerを使用しますので以下の手順を参考にDockerのインストールしてください。

次に構築するディレクトリを作成しましょう。

作成する作業フォルダ内は以下の様になっています。

root/
 ├ docker-compose.yml
 ├ python
 │ ├ Dockerfile
 │ └ requirements.txt
 │ 
 └ src
   └ main.py

DockerとFastAPIのコーディング

ここからはDockerとFastAPIのコーディングを行います。

docker-compose.yml

docker-composeは以下の様になります。

version: '3.7'
services:
  server:
    build:
      context: ./python
      dockerfile: Dockerfile
    volumes:
      - ./src/:/src/
    command: uvicorn main:app --reload --reload --workers 1 --host 0.0.0.0 --port 8000
    ports:
      - 8000:8000

Dockerfile単体でも利用できますが、将来的にDBを利用することを考慮してdocker-composeで構成しておきます。

Dockerfile

PythonのコンテナのためDockerfileを作成します。

FROM python:3.8-slim-buster
WORKDIR /src
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONBUFFERED 1
RUN pip install --upgrade pip
COPY ./requirements.txt /src/requirements.txt
RUN pip install -r requirements.txt
COPY . /src

requirements.txt

requirements.txtでfastapiとunicornを記述します。

fastapi>=0.70.1
uvicorn>=0.16.0

今回は記事作成時点の最新バージョンを指定しています。

main.py

main.pyの準備をします。これがFastAPIの実アプリになります。

from fastapi import FastAPI

app = FastAPI()


@app.get("/")
async def root():
    return {"message": "Hello World"}

こちらでソースコードはすべて完成です。次は実際にFastAPIを起動してみましょう。

FastAPI起動

次に以下のコマンドを順番に入力します。

docker-compose build
docker-compose up

最後にブラウザでlocalhost:8000を開いてみましょう。以下の様になったいたら成功です。

FastAPIでHelloWorldを出力
FastAPIでHelloWorldを出力
よかったらシェアしてね!
目次
閉じる