DTO as resource - auto convert subresource identifiers to objects
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 42/100
Línea de trabajo
Comienza con la declaración de EventParticipantImageResource ApiResource y CreateEventParticipantImageProcessor, y luego sigue cómo se gestionan las variables URI eventId y participantId antes del procesamiento. Comprueba la ruta de deserialización o de construcción del estado para las subrecursos DTO. La tarea estará terminada cuando los recursos referenciados estén disponibles en el DTO y el procesador aún pueda acceder a sus identificadores.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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?
- Lenguaje dominante
- PHP
- Estrellas
- 2.6k
- Forks
- 988
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 105
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de api-platform/core
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
api-platform/core#8744 ·
Los mantenedores suelen responder en 1 día
-
JSON:API: resource schemas (`*.jsonapi`) have `properties` but no `type: object`Posiblemente ocupada @ousamabenyounes la tomó hace 4 días. Abierto
Dificultad 2/5 Menos de una hora Aptitud para principiantes 80/100
api-platform/core#8701 ·
Los mantenedores suelen responder en 1 día
-
[Json-Schema] Nested resources lost externalDoc and description dataPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
api-platform/core#8721 ·
Los mantenedores suelen responder en 1 día
-
JSON:API: 404/405 router errors are empty, and error objects have a non-spec `type` memberPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 50/100
api-platform/core#8704 ·
Los mantenedores suelen responder en 1 día
-
JSON:API: request documents with no `data`, no `type` or a wrong `type` are accepted with 201Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 62/100
api-platform/core#8703 ·
Los mantenedores suelen responder en 1 día
Todos los issues de api-platform/core
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
lorisleiva/laravel-docker#166 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
kanboard/kanboard#5929 · 1 comentario · 3 reacciones ·
Los mantenedores suelen responder en 5 días
-
Rebuild 6.2.3 images on PHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 (CVE-2026-109618, CVE-2026-109619)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
swoole/docker-swoole#65 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
PHP-CS-Fixer/PHP-CS-Fixer#9899 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
backdrop-contrib/rules#257 ·