Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

API Platform ignores array shapes in the JSON Schema

Đang mở Phù hợp với người mới
#8,766 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@afraca đang làm issue này rồi.

Từ ngày 26/10/2026.

  • #8767 của @afraca — đang mở

Đá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
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
php
Lĩnh vực
api

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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của api-platform/core

Tất cả issue của api-platform/core

Issue tương tự

Thêm issue về PHP

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.