Access request data from inside JSON schema or keyword validator
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 20/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- javascript, node.js
調査の方向性
ファイル、テスト、またはエントリーポイントは指定されていません。まず、Fastify のスキーマ検証ライフサイクルとカスタムキーワードのドキュメントを確認し、次にそこでリクエストスコープのデータを使用できるかどうかを判断します。完了条件は、スキーマ検証エラーを保持したまま、先行するフックのデータにアクセスするためのサポートされたアプローチを文書化または確認することです。
索引モデルが issue の本文から書いたものです。
説明
💬 Question here
I'd like to use data from an earlier hook as part of the schema for a later route. Is this possible to do? For example:
fastify.post(
'/',
{
schema: {
body: {
type: 'object',
properties: {
myCoolProp: { enum: req.arrayValueFromEarlierHook },
},
required: ['myCoolProp'],
},
},
},
async (req, res) => {
// bleh
},
);
I know I could also do the validation manually in the route handler itself, but it'd be nice to get the built-in error messaging, etc. by using a schema. I realize it's not possible to simply declare it the way I did in the example above since they're compiled on server start, but the example is just to get the use case across. I was looking at adding a custom keyword as well, but it doesn't appear the keyword validate function has access to the request object either. Is there a straightforward way to achieve this, or is this simply not possible?
Your Environment
- node version: latest
- fastify version: latest
- os: Mac and Linux
- 主要言語
- 言語のデータがありません
- スター
- 68
- フォーク
- 8
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
fastify/help のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
-
help wanted
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
-
help wanted
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
-
V5 docs clarification: Is ajv-errors 1.0.1 still the correct version to use, if fastify v4 upgraded to ajv v8?対応中かも @allanaramont が 33 日前に担当しました。 オープンgood first issue
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
似ている issue
-
refactor topic-map
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
Add an EPUB parserオープンarea: core good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
openapi/gknowledge#21 ·
-
get() for StrEnum対応中かも @FeJo5952 が今日担当しました。 オープンgood first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
collective/icalendar#1921 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
ETQ admin, le select de condition d'une annotation répétable liste les champs publics deux foisオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
demarche-numerique/demarche.numerique.gouv.fr#14301 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
github/github-mcp-server#3489 ·
メンテナーはふだん 4 日以内に返信