|
|
@ -22,7 +22,7 @@ GET リクエストでボディを送信することは、仕様では未定義 |
|
|
|
|
|
|
|
ます初めに、 `pydantic` から `BaseModel` をインポートする必要があります: |
|
|
|
|
|
|
|
{* ../../docs_src/body/tutorial001.py hl[2] *} |
|
|
|
{* ../../docs_src/body/tutorial001.py hl[4] *} |
|
|
|
|
|
|
|
## データモデルの作成 |
|
|
|
|
|
|
@ -30,7 +30,7 @@ GET リクエストでボディを送信することは、仕様では未定義 |
|
|
|
|
|
|
|
すべての属性にpython標準の型を使用します: |
|
|
|
|
|
|
|
{* ../../docs_src/body/tutorial001.py hl[5:9] *} |
|
|
|
{* ../../docs_src/body/tutorial001.py hl[7:11] *} |
|
|
|
|
|
|
|
クエリパラメータの宣言と同様に、モデル属性がデフォルト値をもつとき、必須な属性ではなくなります。それ以外は必須になります。オプショナルな属性にしたい場合は `None` を使用してください。 |
|
|
|
|
|
|
@ -58,7 +58,7 @@ GET リクエストでボディを送信することは、仕様では未定義 |
|
|
|
|
|
|
|
*パスオペレーション* に加えるために、パスパラメータやクエリパラメータと同じ様に宣言します: |
|
|
|
|
|
|
|
{* ../../docs_src/body/tutorial001.py hl[16] *} |
|
|
|
{* ../../docs_src/body/tutorial001.py hl[18] *} |
|
|
|
|
|
|
|
...そして、作成したモデル `Item` で型を宣言します。 |
|
|
|
|
|
|
@ -125,7 +125,7 @@ GET リクエストでボディを送信することは、仕様では未定義 |
|
|
|
|
|
|
|
関数内部で、モデルの全ての属性に直接アクセスできます: |
|
|
|
|
|
|
|
{* ../../docs_src/body/tutorial002.py hl[19] *} |
|
|
|
{* ../../docs_src/body/tutorial002.py hl[21] *} |
|
|
|
|
|
|
|
## リクエストボディ + パスパラメータ |
|
|
|
|
|
|
@ -133,7 +133,7 @@ GET リクエストでボディを送信することは、仕様では未定義 |
|
|
|
|
|
|
|
**FastAPI** はパスパラメータである関数パラメータは**パスから受け取り**、Pydanticモデルによって宣言された関数パラメータは**リクエストボディから受け取る**ということを認識します。 |
|
|
|
|
|
|
|
{* ../../docs_src/body/tutorial003.py hl[15:16] *} |
|
|
|
{* ../../docs_src/body/tutorial003.py hl[17:18] *} |
|
|
|
|
|
|
|
## リクエストボディ + パスパラメータ + クエリパラメータ |
|
|
|
|
|
|
@ -141,7 +141,7 @@ GET リクエストでボディを送信することは、仕様では未定義 |
|
|
|
|
|
|
|
**FastAPI** はそれぞれを認識し、適切な場所からデータを取得します。 |
|
|
|
|
|
|
|
{* ../../docs_src/body/tutorial004.py hl[16] *} |
|
|
|
{* ../../docs_src/body/tutorial004.py hl[18] *} |
|
|
|
|
|
|
|
関数パラメータは以下の様に認識されます: |
|
|
|
|
|
|
|