API Platform ignores array shapes in the JSON Schema
メンテナーはふだん 1 日以内に返信
評価
調査の方向性
まず getJsonSchemaFromType() を見つけ、CollectionType の処理を追ってください。issue では、配列の形状を調べる箇所としてこのメソッドが有力だと示されています。PHPDoc の array{total: int, processed: int, failed: int} が現在どのように表現されているかを確認し、生成されたスキーマを例の名前付きフィールドと比較してください。スキーマに各形状フィールドとその型が保持されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Description
A property documented with a PHPDoc array shape generates a schema without its field names. The shape becomes a generic map whose value type is the union of all field types. Here you see it going different from what we expect and hope for:
/** @var array{total: int, processed: int, failed: int} */
public array $totals = [];
Example
Before:
totals: { [key: string]: number }
After:
totals: {
total: number
processed: number
failed: number
}
I could drop the whole cause and suggested AI fix here, but don't think anyone wants that...
The gist is, possibly add it in getJsonSchemaFromType(), before the CollectionType branch with if ($type instanceof ArrayShapeType) .
- 主要言語
- PHP
- スター
- 2.6k
- フォーク
- 987
- 平均マージ
- 1日 22時間
- マージ済み PR(30日)
- 87
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
api-platform/core のほかの issue
-
SortFilter generates unsupported array form for parameters対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
api-platform/core#8744 ·
メンテナーはふだん 1 日以内に返信
-
JSON:API: resource schemas (`*.jsonapi`) have `properties` but no `type: object`対応中かも @ousamabenyounes が 13 日前に担当しました。 オープン
難易度 2/5 1時間未満 初心者へのやさしさ 80/100
api-platform/core#8701 ·
メンテナーはふだん 1 日以内に返信
-
Doctrine ORM/ODM resource metadata collection factory runs outside the metadata cache since 4.2.16 (priority -50 vs `.cached` at -10)対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
api-platform/core#8769 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 20/100
api-platform/core#8765 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
[Json-Schema] Nested resources lost externalDoc and description data対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
api-platform/core#8721 ·
メンテナーはふだん 1 日以内に返信
api-platform/core の issue をすべて見る
似ている issue
-
sync-en
難易度 1/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
sync-en
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
Перевод устарел
難易度 1/5 1時間未満 初心者へのやさしさ 65/100
-
fix(proxy): avoid exposing Reverb HTTP API (/apps) publicly in generated Traefik dynamic configオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
coollabsio/coolify#12390 ·
メンテナーはふだん 1 日以内に返信
-
win_build: parallel PostBuildEvent race in example_app_atiopencl and example_app_nvopencl copying openclapp_kernels.cl対応中かも @qixuancao が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
メンテナーはふだん 1 日以内に返信