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