RFC: Use annotations for parsing arguments
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 28/100
調査の方向性
まず webargs-starlette の proof of concept を確認し、次に AsyncParser と core.Parser、および marshmallow Schema.TYPE_MAPPING がどのようにフィールドを構築するかを調査します。完了条件は、アノテーションベースの use_annotations アプローチを関連するパーサーに適用し、リクエスト引数がビュー関数のアノテーションからパースされるようにすることです。
索引モデルが issue の本文から書いたものです。
説明
Add a decorator that will parse request arguments from the view function's type annotations.
I've built a working proof of concept of this idea in webargs-starlette.
@app.route("/")
@use_annotations(locations=("query",))
async def index(request, name: str = "World"):
return JSONResponse({"Hello": name})
A marshmallow Schema is generated from the annotations using Schema.TYPE_MAPPING to construct fields.
The code for use_annotations mostly isn't tied to Starlette and could be adapted for AsyncParser (and core.Parser when we drop Python 2 support).
- 主要言語
- Python
- スター
- 1.4k
- フォーク
- 171
- 平均マージ
- 8時間 47分
- マージ済み PR(30日)
- 12
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
marshmallow-code/webargs のほかの issue
-
Multi-value tornado headers are fetched with `get()` rather than `get_list()`再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
marshmallow-code/webargs#1109 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Improve Falcon parser対応中かも @vytas7 が 112 日前に担当しました。 オープン
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
marshmallow-code/webargs#1079 · コメント 7 件 · リアクション 2 件 ·
メンテナーはふだん 1 日以内に返信
-
Dependency Dashboardオープン
難易度 4/5 3〜5日 初心者へのやさしさ 20/100
marshmallow-code/webargs#1046 ·
メンテナーはふだん 1 日以内に返信
-
docs
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
marshmallow-code/webargs#644 · コメント 5 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
question
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
marshmallow-code/webargs#549 · コメント 15 件 ·
メンテナーはふだん 1 日以内に返信
marshmallow-code/webargs の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
btclib-org/btclib#3062 ·
メンテナーはふだん 1 日以内に返信
-
area:evals area:infra enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
jse-avl/support-bot#4 · コメント 1 件 ·
-
bug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
qte77/agentic-job-offer-to-application-kit#487 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
btclib-org/btclib-wallet#801 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
documentation good first issue
難易度 1/5 1〜3時間 初心者へのやさしさ 94/100