openapi-generators / openapi-generators/openapi-python-client

"model_type" error when encountering "items": false

Aberta
#1,229 0 comentários 1 reação 0 responsáveis Ver no GitHub

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

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. 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

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.