mirror of
https://github.com/fastapi/fastapi.git
synced 2026-10-21 09:25:25 -04:00
🔧 Add pre-commit with first config and first formatting pass (#4888)
* 🔧 Add first pre-commit config * 🎨 Format YAML files with pre-commit * 🎨 Format Markdown with pre-commit * 🎨 Format SVGs, drawio, JS, HTML with pre-commit * ➕ Add pre-commit to dev dependencies * ⬇️ Extend pre-commit range to support Python 3.6
This commit is contained in:
1 parent
9cbd42b13e
commit
3d0f130ff3
119 files changed
+228
-221
No files matched your search
@@ -114,7 +114,7 @@ APIはほとんどの場合 **レスポンス** ボディを送らなければ
|
||||
<a href="https://www.jetbrains.com/pycharm/" class="external-link" target="_blank">PyCharm</a>エディタを使用している場合は、<a href="https://github.com/koxudaxi/pydantic-pycharm-plugin/" class="external-link" target="_blank">Pydantic PyCharm Plugin</a>が使用可能です。
|
||||
|
||||
以下のエディターサポートが強化されます:
|
||||
|
||||
|
||||
* 自動補完
|
||||
* 型チェック
|
||||
* リファクタリング
|
||||
@@ -157,7 +157,7 @@ APIはほとんどの場合 **レスポンス** ボディを送らなければ
|
||||
|
||||
!!! note "備考"
|
||||
FastAPIは、`= None`があるおかげで、`q`がオプショナルだとわかります。
|
||||
|
||||
|
||||
`Optional[str]` の`Optional` はFastAPIでは使用されていません(FastAPIは`str`の部分のみ使用します)。しかし、`Optional[str]` はエディタがコードのエラーを見つけるのを助けてくれます。
|
||||
|
||||
## Pydanticを使わない方法
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
!!! tip "豆知識"
|
||||
<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers" class="external-link" target="_blank">'X-'プレフィックスを使用</a>してカスタムの独自ヘッダーを追加できます。
|
||||
|
||||
ただし、ブラウザのクライアントに表示させたいカスタムヘッダーがある場合は、<a href="https://www.starlette.io/middleware/#corsmiddleware" class="external-link" target="_blank">StarletteのCORSドキュメント</a>に記載されているパラメータ `expose_headers` を使用して、それらをCORS設定に追加する必要があります ([CORS (オリジン間リソース共有)](cors.md){.internal-link target=_blank})
|
||||
ただし、ブラウザのクライアントに表示させたいカスタムヘッダーがある場合は、<a href="https://www.starlette.io/middleware/#corsmiddleware" class="external-link" target="_blank">StarletteのCORSドキュメント</a>に記載されているパラメータ `expose_headers` を使用して、それらをCORS設定に追加する必要があります ([CORS (オリジン間リソース共有)](cors.md){.internal-link target=_blank})
|
||||
|
||||
!!! note "技術詳細"
|
||||
`from starlette.requests import Request` を使用することもできます。
|
||||
|
||||
@@ -139,7 +139,7 @@ Pythonのformat文字列と同様のシンタックスで「パスパラメー
|
||||
|
||||
### *パスパラメータ*の宣言
|
||||
|
||||
次に、作成したenumクラスである`ModelName`を使用した型アノテーションをもつ*パスパラメータ*を作成します:
|
||||
次に、作成したenumクラスである`ModelName`を使用した型アノテーションをもつ*パスパラメータ*を作成します:
|
||||
|
||||
```Python hl_lines="16"
|
||||
{!../../../docs_src/path_params/tutorial005.py!}
|
||||
|
||||
@@ -18,7 +18,7 @@ http://127.0.0.1:8000/items/?skip=0&limit=10
|
||||
...クエリパラメータは:
|
||||
|
||||
* `skip`: 値は `0`
|
||||
* `limit`: 値は `10`
|
||||
* `limit`: 値は `10`
|
||||
|
||||
これらはURLの一部なので、「自然に」文字列になります。
|
||||
|
||||
@@ -75,7 +75,7 @@ http://127.0.0.1:8000/items/?skip=20
|
||||
|
||||
!!! note "備考"
|
||||
FastAPIは、`= None`があるおかげで、`q`がオプショナルだとわかります。
|
||||
|
||||
|
||||
`Optional[str]` の`Optional` はFastAPIでは使用されていません(FastAPIは`str`の部分のみ使用します)。しかし、`Optional[str]` はエディタがコードのエラーを見つけるのを助けてくれます。
|
||||
|
||||
## クエリパラメータの型変換
|
||||
@@ -116,7 +116,7 @@ http://127.0.0.1:8000/items/foo?short=on
|
||||
http://127.0.0.1:8000/items/foo?short=yes
|
||||
```
|
||||
|
||||
もしくは、他の大文字小文字のバリエーション (アッパーケース、最初の文字だけアッパーケース、など)で、関数は `short` パラメータを `True` な `bool` 値として扱います。それ以外は `False` になります。
|
||||
もしくは、他の大文字小文字のバリエーション (アッパーケース、最初の文字だけアッパーケース、など)で、関数は `short` パラメータを `True` な `bool` 値として扱います。それ以外は `False` になります。
|
||||
|
||||
## 複数のパスパラメータとクエリパラメータ
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ HTMLフォーム(`<form></form>`)がサーバにデータを送信する方
|
||||
フォームからのデータは通常、`application/x-www-form-urlencoded`の「media type」を使用してエンコードされます。
|
||||
|
||||
しかし、フォームがファイルを含む場合は、`multipart/form-data`としてエンコードされます。ファイルの扱いについては次の章で説明します。
|
||||
|
||||
|
||||
これらのエンコーディングやフォームフィールドの詳細については、<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST" class="external-link" target="_blank"><abbr title="Mozilla Developer Network">MDN</abbr>の<code>POST</code></a>のウェブドキュメントを参照してください。
|
||||
|
||||
!!! warning "注意"
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
!!! tip "豆知識"
|
||||
FastAPIアプリケーションへのリクエストの送信とは別に、テストで `async` 関数 (非同期データベース関数など) を呼び出したい場合は、高度なチュートリアルの[Async Tests](../advanced/async-tests.md){.internal-link target=_blank} を参照してください。
|
||||
|
||||
|
||||
## テストの分離
|
||||
|
||||
実際のアプリケーションでは、おそらくテストを別のファイルに保存します。
|
||||
@@ -112,7 +112,7 @@
|
||||
`TestClient` は、Pydanticモデルではなく、JSONに変換できるデータを受け取ることに注意してください。
|
||||
|
||||
テストにPydanticモデルがあり、テスト中にそのデータをアプリケーションに送信したい場合は、[JSON互換エンコーダ](encoder.md){.internal-link target=_blank} で説明されている `jsonable_encoder` が利用できます。
|
||||
|
||||
|
||||
## 実行
|
||||
|
||||
後は、`pytest` をインストールするだけです:
|
||||
|
||||
Reference in new issue
Block a user