openapi-generators / openapi-generators/openapi-python-client
"model_type" error when encountering "items": false
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 2k
- Forks
- 293
- Merge medio
- 34 min
- PR fusionados (30 d)
- 1
Descripción
Describe the bug
According to the openapi 3.1 specification, tuples should be modeled using the "prefixItems" field with the "items" field being set to false (spec).
However this causes a "model_type" error as the generator expects the "items" field to be a dictionary.
OpenAPI Spec File
{
"openapi": "3.1.0",
"info": {
"title": "foobar",
"description": "",
"license": {
"name": ""
},
"version": "0.1.0"
},
"paths": {
"/my/path": {
"get": {
"description": "foo",
"operationId": "bar",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "array",
"items": false,
"prefixItems": [
{
"type": "string",
"format": "date-time"
},
{}
]
}
}
}
}
}
}
}
}
}
}
Removing the "items": false causes the file to parse successfully.
Desktop (please complete the following information):
- OS: Ubuntu 22.04.5 LTS
- Python Version: 3.10.12
- openapi-python-client version 0.24.1
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.
Línea de trabajo
Empieza reproduciendo el error de model_type con la especificación OpenAPI 3.1 incluida en el issue, centrándote en el esquema de array anidado en el que items es false y prefixItems está presente. Traza la ruta de análisis o validación del esquema que asume que items es un diccionario. Se considera terminado cuando la especificación proporcionada se analiza correctamente y una prueba de regresión cubre esta forma de tupla.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- openapi, python
- Área
- backend-api-design, tooling
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 48/100