`default` property sibling to a `$ref` is ignored
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 68/100
Direção de pesquisa
Comece reproduzindo o problema com a especificação OpenAPI 3.1 do relatório e inspecione a saída gerada de _get_kwargs. Rastreie como os valores padrão dos schemas são tratados para siblings diretos de $ref, schemas referenciados e wrappers allOf. Está concluído quando os quatro valores padrão, incluindo component_default, forem preservados no cliente gerado.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Describe the bug
default property sibling to a $ref is ignored. OAS 3.1.X relies on JSON Schema 2020-12 which does not include the requirement that sibling properties to $ref should be ignored.
OpenAPI Spec File
{
"openapi": "3.1.0",
"info": {
"title": "title",
"summary": "summary",
"description": "description",
"version": "0.0.1"
},
"paths": {
"/": {
"get": {
"parameters": [
{
"name": "default_lost1",
"required": false,
"schema": {
"$ref": "#/components/schemas/String",
"default": "lost"
}
},
{
"name": "default_lost2",
"required": false,
"schema": {
"$ref": "#/components/schemas/DefaultString"
}
},
{
"name": "default_lost3",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/DefaultString"
}
]
}
},
{
"name": "default_kept",
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/String"
}
],
"default": "kept"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {}
}
}
}
}
},
"components": {
"schemas": {
"String": {
"type": "string"
},
"DefaultString": {
"type": "string",
"default": "component_default"
}
}
}
}
Desktop (please complete the following information):
- OS: macOS 26.4.1
- Python Version: 3.11.13
- openapi-python-client version: 0.28.3
Additional context
The previous schema generates code like this:
def _get_kwargs(
*,
body: Object,
default_lost1: str | Unset = UNSET,
default_lost2: str | Unset = UNSET,
default_lost3: str | Unset = UNSET,
default_kept: str | Unset = 'kept',
) -> dict[str, Any]:
I would expect all defaults to be kept.
If anything else is needed I will be more than happy to provide it. Thank you for your time!
- Linguagem predominante
- Python
- Estrelas
- 2k
- Forks
- 293
- Merge médio
- 34min
- PRs com merge (30d)
- 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.
Mais de openapi-generators/openapi-python-client
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 72/100
openapi-generators/openapi-python-client#1451 · 1 comentário ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 52/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 64/100
openapi-generators/openapi-python-client#1435 · 1 comentário ·
Todas as issues de openapi-generators/openapi-python-client
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
ClickHouse/clickhouse-connect#1057 ·
-
bug ci good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
-
documentation
Dificuldade 2/5 Meio dia Facilidade para iniciantes 62/100
inmanta/inmanta-core#10835 ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 92/100