API Platform ignores array shapes in the JSON Schema
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 78/100
Hướng nghiên cứu
Bắt đầu bằng cách tìm getJsonSchemaFromType() và theo dõi cách hàm này xử lý CollectionType; issue chỉ ra phương thức này là nơi có khả năng cần kiểm tra các cấu trúc array nhất. Xác nhận hiện tại một array{total: int, processed: int, failed: int} trong PHPDoc được biểu diễn như thế nào, sau đó so sánh schema được tạo với các trường có tên trong ví dụ. Công việc hoàn tất khi schema giữ lại từng trường trong cấu trúc và kiểu của trường đó.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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) .
- Ngôn ngữ chính
- PHP
- Star
- 2.6k
- Fork
- 987
- Merge trung bình
- 1 ngày 22 giờ
- Pull request đã merge (30 ngày)
- 87
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của api-platform/core
-
SortFilter generates unsupported array form for parametersCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
api-platform/core#8744 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
JSON:API: resource schemas (`*.jsonapi`) have `properties` but no `type: object`Có thể đã có người làm @ousamabenyounes đã nhận 13 ngày trước. Đang mở
Độ khó 2/5 Dưới một giờ Mức phù hợp với người mới 80/100
api-platform/core#8701 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Doctrine ORM/ODM resource metadata collection factory runs outside the metadata cache since 4.2.16 (priority -50 vs `.cached` at -10)Có thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
api-platform/core#8769 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 20/100
api-platform/core#8765 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Json-Schema] Nested resources lost externalDoc and description dataCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
api-platform/core#8721 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của api-platform/core
Issue tương tự
-
GD decoder discards the finfo media type in mediaTypeByBinary() since 4.4.0Có thể đã có người làm @lazerg đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
Intervention/image#1556 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug No Code Attached Yet
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 79/100
joomla/joomla-cms#48730 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Sync EN] Add more details about the array returned from openssl_x509_parse (php#2666) (#6013)Đang mởsync-en
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[Sync EN] Add more details about the array returned from openssl_x509_parse (php#2666) (#6013)Đang mởsync-en
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Перевод устарел
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 65/100