Pythonでfastapiを使用しPOSTメソッドでデータを送信する

Pythonでfastapiを使用しPOSTメソッドでデータを送信してみます。

なお、今回はfastapiと、pydantic,uvicornライブラリを使用します。これら3つのライブラリは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■fastapiを使用しPOSTメソッドでデータを送信

では、早速fastapiを使用しPOSTメソッドでデータを送信するスクリプトを書いていきます。

■コード

from fastapi import FastAPI,Request
from pydantic import BaseModel

class GreetingModel(BaseModel):
    texts: str

my_app = FastAPI()

@my_app.post("/test_post")
async def test_post(text: GreetingModel):
    print(text.texts)
    return {
        "status":200,
    }

■実行・検証

このスクリプトを「f_post.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存します。保存後、スクリプトを実行するために、uvicornを用いて本番環境用のASGIサーバーを起動します。

uvicorn f_post:my_app

コマンドプロンプト上で上記のコマンドを入力し、Enterキーを押します。

INFO:     Started server process [5864]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)

Enterキーを押すと、メッセージが出力されます。http://127.0.0.1:8000と表示されていますので、このURLをコピーし、コマンドプロンプトを表示させたまま、Webブラウザを起動します。起動後、Webブラウザのアドレスバーに貼り付けて、URLの後ろに「/docs」を付けて「http://127.0.0.1:8000/docs」とURLを変更し、アクセスします。

アクセスすると、「default」の項目に「POST」と表示されていますので、こちらをクリックします。

クリックすると、「Parameters」の右側にある「Try it out(お試しください)」ボタンをクリックします。

クリックすると「Request body」が編集できる状態になりますので、編集画面でデータを編集します。編集後、「Execute(実行)」ボタンをクリックします。

クリックすると、コマンドプロンプト上にPOSTメソッドで送信したデータが出力されることが確認できました。

コメント

タイトルとURLをコピーしました