Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

DeserializeProvider calls PartialDenormalizationException::getErrors(), deprecated in Symfony 8.1

Abierto Apto para principiantes
#8,650 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@dualfroz ya está trabajando en esto.

Desde el 10/10/2026.

  • #8663 de @dualfroz — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
76/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
php, symfony
Área
api, backend

Línea de trabajo

Empieza en src/State/Provider/DeserializeProvider.php, en la llamada alrededor de la línea 110 indicada en el issue. Comprueba cómo admite el proyecto tanto Symfony Serializer 7.4 como 8.1 y, después, ejecuta las pruebas pertinentes para entradas no válidas con collect_denormalization_errors: true. El trabajo estará terminado cuando esas pruebas pasen sin la deprecación de Symfony 8.1 y Symfony 7.4 siga siendo compatible.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

API Platform version(s) affected: 4.3.21 and the current head of 4.4 (5.0 is not affected)

Symfony 8.1 deprecates PartialDenormalizationException::getErrors() in favour of getNotNormalizableValueErrors(). The 4.4 branch still calls it: https://github.com/api-platform/core/blob/4.4/src/State/Provider/DeserializeProvider.php#L110

Since symfony/serializer 8.1: The "Symfony\Component\Serializer\Exception\PartialDenormalizationException::getErrors()" method is deprecated, use "Symfony\Component\Serializer\Exception\PartialDenormalizationException::getNotNormalizableValueErrors()" instead.

Every 422 caused by a denormalization error goes through this line, so with collect_denormalization_errors: true it shows up in each test that sends invalid input. 5.0 no longer has the call, but it went away with the rewrite in #8211, which won't be backported.

Possible solution

In Symfony 8.1 getErrors() only returns getNotNormalizableValueErrors(), so the swap is exact. 4.4 also supports symfony/serializer ^7.4, which doesn't have that method, so the fallback would be needed. Yet the fix seems as trivial as

$errors = method_exists($e, 'getNotNormalizableValueErrors')
    ? $e->getNotNormalizableValueErrors()
    : $e->getErrors();

foreach ($errors as $exception) {
    ...
Lenguaje dominante
PHP
Estrellas
2.6k
Forks
987
Merge medio
1 d 8 h
PR fusionados (30 d)
80

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de api-platform/core

Todos los issues de api-platform/core

Issues similares

Más issues de PHP

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.