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キーを押します。
[32mINFO[0m: Started server process [[36m5864[0m] [32mINFO[0m: Waiting for application startup. [32mINFO[0m: Application startup complete. [32mINFO[0m: Uvicorn running on [1mhttp://127.0.0.1:8000[0m (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メソッドで送信したデータが出力されることが確認できました。
コメント