|
|
@ -24,12 +24,12 @@ FastAPIは、 `q` はデフォルト値が `= None` であるため、必須で |
|
|
|
|
|
|
|
|
そのために、まずは以下をインポートします: |
|
|
そのために、まずは以下をインポートします: |
|
|
|
|
|
|
|
|
* `fastapi` から `Query` |
|
|
- `fastapi` から `Query` |
|
|
* `typing` から `Annotated` |
|
|
- `typing` から `Annotated` |
|
|
|
|
|
|
|
|
{* ../../docs_src/query_params_str_validations/tutorial002_an_py310.py hl[1,3] *} |
|
|
{* ../../docs_src/query_params_str_validations/tutorial002_an_py310.py hl[1,3] *} |
|
|
|
|
|
|
|
|
/// info | 情報 |
|
|
/// note | 備考 |
|
|
|
|
|
|
|
|
FastAPI はバージョン 0.95.0 で `Annotated` のサポートを追加し(推奨し始め)ました。 |
|
|
FastAPI はバージョン 0.95.0 で `Annotated` のサポートを追加し(推奨し始め)ました。 |
|
|
|
|
|
|
|
|
@ -79,9 +79,9 @@ q: Annotated[str | None] = None |
|
|
|
|
|
|
|
|
FastAPI は次を行います: |
|
|
FastAPI は次を行います: |
|
|
|
|
|
|
|
|
* 最大長が 50 文字であることを確かめるようデータを **検証** する |
|
|
- 最大長が 50 文字であることを確かめるようデータを **検証** する |
|
|
* データが有効でないときに、クライアントに **明確なエラー** を表示する |
|
|
- データが有効でないときに、クライアントに **明確なエラー** を表示する |
|
|
* OpenAPI スキーマの *path operation* にパラメータを **ドキュメント化** する(その結果、**自動ドキュメント UI** に表示されます) |
|
|
- OpenAPI スキーマの *path operation* にパラメータを **ドキュメント化** する(その結果、**自動ドキュメント UI** に表示されます) |
|
|
|
|
|
|
|
|
## 代替(古い方法): デフォルト値としての `Query` { #alternative-old-query-as-the-default-value } |
|
|
## 代替(古い方法): デフォルト値としての `Query` { #alternative-old-query-as-the-default-value } |
|
|
|
|
|
|
|
|
@ -174,9 +174,9 @@ FastAPI なしで同じ関数を **別の場所** から **呼び出しても** |
|
|
|
|
|
|
|
|
この特定の正規表現パターンは受け取ったパラメータの値をチェックします: |
|
|
この特定の正規表現パターンは受け取ったパラメータの値をチェックします: |
|
|
|
|
|
|
|
|
* `^`: は、これ以降の文字で始まり、これより以前には文字はありません。 |
|
|
- `^`: は、これ以降の文字で始まり、これより以前には文字はありません。 |
|
|
* `fixedquery`: は、正確な`fixedquery`を持っています. |
|
|
- `fixedquery`: は、正確な`fixedquery`を持っています. |
|
|
* `$`: で終わる場合、`fixedquery`以降には文字はありません. |
|
|
- `$`: で終わる場合、`fixedquery`以降には文字はありません. |
|
|
|
|
|
|
|
|
もしこれらすべての **「正規表現」** のアイデアについて迷っていても、心配しないでください。多くの人にとって難しい話題です。正規表現を必要としなくても、まだ、多くのことができます。 |
|
|
もしこれらすべての **「正規表現」** のアイデアについて迷っていても、心配しないでください。多くの人にとって難しい話題です。正規表現を必要としなくても、まだ、多くのことができます。 |
|
|
|
|
|
|
|
|
@ -382,7 +382,7 @@ Pydantic には [`BeforeValidator`](https://docs.pydantic.dev/latest/concepts/va |
|
|
|
|
|
|
|
|
{* ../../docs_src/query_params_str_validations/tutorial015_an_py310.py hl[5,16:19,24] *} |
|
|
{* ../../docs_src/query_params_str_validations/tutorial015_an_py310.py hl[5,16:19,24] *} |
|
|
|
|
|
|
|
|
/// info | 情報 |
|
|
/// note | 備考 |
|
|
|
|
|
|
|
|
これは Pydantic バージョン 2 以上で利用できます。 😎 |
|
|
これは Pydantic バージョン 2 以上で利用できます。 😎 |
|
|
|
|
|
|
|
|
@ -432,16 +432,16 @@ Pydantic には [`BeforeValidator`](https://docs.pydantic.dev/latest/concepts/va |
|
|
|
|
|
|
|
|
一般的なバリデーションとメタデータ: |
|
|
一般的なバリデーションとメタデータ: |
|
|
|
|
|
|
|
|
* `alias` |
|
|
- `alias` |
|
|
* `title` |
|
|
- `title` |
|
|
* `description` |
|
|
- `description` |
|
|
* `deprecated` |
|
|
- `deprecated` |
|
|
|
|
|
|
|
|
文字列に固有のバリデーション: |
|
|
文字列に固有のバリデーション: |
|
|
|
|
|
|
|
|
* `min_length` |
|
|
- `min_length` |
|
|
* `max_length` |
|
|
- `max_length` |
|
|
* `pattern` |
|
|
- `pattern` |
|
|
|
|
|
|
|
|
`AfterValidator` を使ったカスタムバリデーション。 |
|
|
`AfterValidator` を使ったカスタムバリデーション。 |
|
|
|
|
|
|
|
|
|