[GENERATOR ISSUE] Parse nullable option in additionalProperites
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 45/100
Direção de pesquisa
Comece pelo caminho do gerador que converte additionalProperties da especificação OpenAPI do HubSpot no campo properties gerado do Julia. Reproduza o caso de análise de valores Nullable usando a especificação vinculada; considera-se concluído quando o modelo gerado aceita valores null sem um erro de análise.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Hi, I'm trying to generate julia client for hubspot api, and there is such a component:
"SimplePublicObjectWithAssociations": {
"type": "object",
"properties": {
...
"properties": {
"example": {
"amount": "1500.00",
"closedate": "2019-12-07T16:50:06.678Z",
"hubspot_owner_id": "910901",
"dealname": "Custom data integrations",
"dealstage": "presentationscheduled",
"pipeline": "default"
},
"additionalProperties": {
"nullable": true,
"type": "string"
},
"type": "object"
},
}
...
}
So openapi-generator generate such model:
Base.@kwdef mutable struct SimplePublicObjectWithAssociations <: OpenAPI.APIModel
archivedAt::Union{Nothing, ZonedDateTime} = nothing
archived::Union{Nothing, Bool} = nothing
properties::Union{Nothing, Dict{String, String}} = nothing
id::Union{Nothing, String} = nothing
updatedAt::Union{Nothing, ZonedDateTime} = nothing
associations::Union{Nothing, Dict} = nothing # spec type: Union{ Nothing, Dict{String, CollectionResponseAssociatedId} }
createdAt::Union{Nothing, ZonedDateTime} = nothing
propertiesWithHistory::Union{Nothing, Dict{String, Vector{ValueWithTimestamp}}} = nothing
# ...
end
There is a field properties which is of type Dict{String,String}. So it processes the type field in additionalProperties to detect String, but it doesn't process the nullable field. So if I have a property with a null value, it throws an error on parsing. I was able to fix it by changing the type to Dict{String,Union{Nothing, String}}, so maybe there is a way to update generator to process the nullable option
Edit:
Full openapi_specification: https://api.hubspot.com/api-catalog-public/v1/apis/crm/v3/objects/deals
- Linguagem predominante
- Julia
- Estrelas
- 56
- Forks
- 16
- Merge médio
- 1d 51min
- PRs com merge (30d)
- 12
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
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 JuliaComputing/OpenAPI.jl
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
JuliaComputing/OpenAPI.jl#128 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
JuliaComputing/OpenAPI.jl#118 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
JuliaComputing/OpenAPI.jl#117 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
JuliaComputing/OpenAPI.jl#113 ·
Mantenedores costumam responder em até 1 dia
-
stale
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 48/100
JuliaComputing/OpenAPI.jl#87 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de JuliaComputing/OpenAPI.jl
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 92/100
JuliaSymbolics/SymbolicUtils.jl#1131 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100