Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit15429a9

Browse files
SwftAlpcryuckeltokusumitiangolo
authored
🌐 Add Japanese translation fordocs/ja/docs/tutorial/body-fields.md (#1923)
Co-authored-by: ryusuke.miyaji <bluce826@gmail.com>Co-authored-by: ryuckel <36391432+ryuckel@users.noreply.github.com>Co-authored-by: tokusumi <tksmtoms@gmail.com>Co-authored-by: T. Tokusumi <41147016+tokusumi@users.noreply.github.com>Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
1 parent32ae949 commit15429a9

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
#ボディ - フィールド
2+
3+
`Query``Path``Body`を使って*path operation関数* のパラメータに追加のバリデーションやメタデータを宣言するのと同じように、Pydanticの`Field`を使ってPydanticモデルの内部でバリデーションやメタデータを宣言することができます。
4+
5+
##`Field`のインポート
6+
7+
まず、以下のようにインポートします:
8+
9+
```Python hl_lines="4"
10+
{!../../../docs_src/body_fields/tutorial001.py!}
11+
```
12+
13+
!!! warning "注意"
14+
`Field`は他の全てのもの(`Query``Path``Body`など)とは違い、`fastapi`からではなく、`pydantic`から直接インポートされていることに注意してください。
15+
16+
##モデルの属性の宣言
17+
18+
以下のように`Field`をモデルの属性として使用することができます:
19+
20+
```Python hl_lines="11 12 13 14"
21+
{!../../../docs_src/body_fields/tutorial001.py!}
22+
```
23+
24+
`Field``Query``Path``Body`と同じように動作し、全く同様のパラメータなどを持ちます。
25+
26+
!!! note "技術詳細"
27+
実際には次に見る`Query``Path`などは、共通の`Param`クラスのサブクラスのオブジェクトを作成しますが、それ自体はPydanticの`FieldInfo`クラスのサブクラスです。
28+
29+
また、Pydanticの`Field`は`FieldInfo`のインスタンスも返します。
30+
31+
`Body`は`FieldInfo`のサブクラスのオブジェクトを直接返すこともできます。そして、他にも`Body`クラスのサブクラスであるものがあります。
32+
33+
`fastapi`から`Query`や`Path`などをインポートする場合、これらは実際には特殊なクラスを返す関数であることに注意してください。
34+
35+
!!! tip "豆知識"
36+
型、デフォルト値、`Field`を持つ各モデルの属性が、`Path``Query``Body`の代わりに`Field`を持つ、*path operation 関数の*パラメータと同じ構造になっていることに注目してください。
37+
38+
##追加情報の追加
39+
40+
追加情報は`Field``Query``Body`などで宣言することができます。そしてそれは生成されたJSONスキーマに含まれます。
41+
42+
後に例を用いて宣言を学ぶ際に、追加情報を句悪方法を学べます。
43+
44+
##まとめ
45+
46+
Pydanticの`Field`を使用して、モデルの属性に追加のバリデーションやメタデータを宣言することができます。
47+
48+
追加のキーワード引数を使用して、追加のJSONスキーマのメタデータを渡すこともできます。

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2026 Movatter.jp