array<string, mixed> only allows string values in the generated schema
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 75/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- php
- Área
- api, backend-api-design
Línea de trabajo
Empieza en SchemaPropertyMetadataFactory, donde el issue indica que TypeIdentifier::MIXED se asigna a string; inspecciona el manejo de tipos cercanos y las pruebas de esquema relacionadas. Comprueba cómo representa el esquema generado mixed y luego actualiza una prueba específica o añade una que muestre que se aceptan valores numéricos como 0. La tarea estará terminada cuando los esquemas generados permitan cualquier valor en las propiedades mixed.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The problem
API Platform treats mixed as string when it generates the OpenAPI schema. A property that can hold any value ends up as "strings only".
Example
/** @var array<string, mixed> */
public array $metadata = [];
The data is {"chunk_number": 0}. The number 0 is valid for mixed.
The generated schema says:
"metadata": { "type": "object", "additionalProperties": { "type": ["string", "null"] } }
That only allows strings and null. A client that validates the data against the schema reports it as invalid.
What I expected
mixed means "any value", so the schema should allow any value.
Where it comes from
SchemaPropertyMetadataFactory contains TypeIdentifier::MIXED => ['type' => 'string']. It is also on main.
Version: api-platform/core 4.4.2
- Lenguaje dominante
- PHP
- Estrellas
- 2.6k
- Forks
- 987
- Merge medio
- 1 d 10 h
- PR fusionados (30 d)
- 76
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
-
Doctrine\Orm\OrderExtension fails on SortDirectionPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
api-platform/core#8660 ·
Los mantenedores suelen responder en 1 día
-
DeserializeProvider calls PartialDenormalizationException::getErrors(), deprecated in Symfony 8.1Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
api-platform/core#8650 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
api-platform/core#8649 ·
Los mantenedores suelen responder en 1 día
-
`OrderExtension` and `OrderFilter` pass string sort directions, deprecated since `doctrine/orm` 3.7Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
api-platform/core#8648 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
api-platform/core#8647 ·
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 84/100
WordPress/hosting-handbook#506 ·
Los mantenedores suelen responder en 2 días
-
Installing a plugin with composer_packages installs dev dependencies and breaks the autoloader (Error 500)Posiblemente ocupada @Boy132 la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
nginx: static-file locations drop the security headers, and the dotfile deny is matched after themAbiertobug Low Security
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
backdrop-contrib/commerce#60 ·