Python の FastAPI Web アプリで pydantic を使わずに POST メソッドを処理する
Python で FastAPI を使ったアプリケーションを Web アプリケーションを作成する際、POST メソッドで渡されるリクエストの処理は公式サイトの Request Body 説明ページ によると pydantic を使ったクラスで処理するサンプルが掲載されています。 しかし、例えば「POST されてくる JSON のフォーマットが一定では無い」といったケースだと pydantic ではやや困る場合があるかも知れません。 そういった場合は pydantic を使わず、Body
を使ってリクエストを受け取り、json として処理する方法があります。 下記は FastAPI を mangum で AWS へデプロイすることを前提にしたサンプルです。
1 2 3 4 5 6 7 8 9 10 |
|
Body は辞書型¶
仮に以下のような JSON を POST するとします。
1 2 3 4 |
|
body
は辞書型です。 リクエストで受け取ったデータにアクセスするには下記のように処理します (辞書型で受け取っているので、処理が簡単です)。
1 2 3 4 5 6 7 8 9 10 11 12 |
|