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

DTO as resource - auto convert subresource identifiers to objects

Đã đóng
#8,094 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

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
42/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
php
Lĩnh vực
api, backend

Hướng nghiên cứu

Bắt đầu với khai báo EventParticipantImageResource ApiResource và CreateEventParticipantImageProcessor, sau đó theo dõi cách các biến URI eventId và participantId được xử lý trước khi xử lý. Kiểm tra đường dẫn giải tuần tự hóa hoặc xây dựng state cho các subresource DTO. Hoàn tất khi các tài nguyên được tham chiếu có sẵn trên DTO trong khi processor vẫn có thể truy cập các mã định danh của chúng.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Hi,

I've created subresource. This resource is DTO, not an entity.

#[ApiResource(
    operations: [
        new Post(
            uriTemplate: '/events/{eventId}/participants/{participantId}/images.{_format}',
            uriVariables: [
                # possible bug below
                'eventId' => new Link(fromClass: EventResource::class, toProperty: 'event'),
                'participantId' => new Link(fromClass: EventParticipantResource::class, toProperty: 'participant'),
            ],
            processor: CreateEventParticipantImageProcessor::class,
        ),
/** ... */
readonly class EventParticipantImageResource

Problem is that in CreateEventParticipantImageProcessor I can use only uri variables cause query is not serialized:

public function process(mixed $data, Operation $operation, array $uriVariables = [], array $context = []) {
     $eventId = $uriVariables['eventId']; # identifier
     $eventId = $data->event?->id; # null
}

Is there functionality that will convert identifiers to target resources and assign to DTO fields so I can use $data->event?->id?

Ngôn ngữ chính
PHP
Star
2.6k
Fork
988
Merge trung bình
1 ngày 19 giờ
Pull request đã merge (30 ngày)
106

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.