openapi-generators / openapi-generators/openapi-python-client
Handle "empty" default values as null
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 2k
- Forks
- 293
- Merge moyen
- 34 min
- PR mergées (30 j)
- 1
Description
Describe the bug
"empty" default values for optional fields throw an error. swagger-parser explicitly allows these (even though they are technically out-of-spec) by converting them silently to null. So, there exist openapi json in the wild built by swagger tools that pass swagger validation, but throw an error here in openapi-python-client.
OpenAPI Spec File
https://www.marinespecies.org/rest/api-docs/openapi.yaml
grep for:
schema:
type: integer
default: ""
There are three endpoints that have this property. One of which is AphiaTaxonRanksByID. It might be useful to check this endpoint out in the swagger docs here.
Desktop (please complete the following information):
- openapi-python-client version 0.28.0
Additional context
I am in contact with the folks at WORMS to try and find out how their openapi.yaml got this way. Will update here when I get more info.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Reproduisez l’échec avec le fichier OpenAPI des espèces marines lié dans l’issue, en particulier les schémas contenant type: integer et default: "". Suivez la manière dont les valeurs par défaut des champs optionnels sont gérées lors de la génération du client et comparez le comportement avec le traitement indiqué de swagger-parser. Le travail est terminé lorsque les endpoints concernés sont générés avec succès et que les valeurs par défaut vides sont traitées comme null.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- openapi, python
- Domaine
- backend-api-design, devtools
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100