openapi-generators / openapi-generators/openapi-python-client
"model_type" error when encountering "items": false
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Python
- Estrelas
- 2k
- Forks
- 293
- Merge médio
- 34min
- PRs com merge (30d)
- 1
Descrição
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
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece reproduzindo o erro de model_type com a especificação OpenAPI 3.1 incluída na issue, concentrando-se no schema de array aninhado em que items é false e prefixItems está presente. Rastreie o caminho de análise ou validação do schema que presume que items é um dicionário. Está concluído quando a especificação fornecida for analisada com sucesso e um teste de regressão cobrir essa forma de tupla.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- openapi, python
- Domínio
- backend-api-design, tooling
- Tipo de issue
- Bug
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 48/100