openapi-generators / openapi-generators/openapi-python-client
Unable to parse schema definition with anyOf/allOf within one another
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 2k
- Forks
- 293
- Ø Merge
- 34 Min.
- Gemergte PRs (30 T.)
- 1
Beschreibung
Describe the bug
Schema definition in components of combined schemas are failing to be parsed, with the following error:
Unable to parse this part of your OpenAPI document: : Invalid property in union /components/schemas/composite_object
Schema(title=None, multipleOf=None, maximum=None, exclusiveMaximum=None, minimum=None, exclusiveMinimum=None, maxLength=None, minLength=None, pattern=None, maxItems=None, minItems=None, uniqueItems=None, maxProperties=None, minProperties=None, required=None, enum=None, type=None, allOf=[Reference(ref='#/components/schemas/simple_object1'), Reference(ref='#/components/schemas/simple_object2')], oneOf=[], anyOf=[], schema_not=None, items=None, properties=None, additionalProperties=None, description=None, schema_format=None, default=None, nullable=False, discriminator=None, readOnly=None, writeOnly=None, xml=None, externalDocs=None, example=None, deprecated=None)
Surprisingly, combined schemas are correctly parsed when defined in paths : this is the uncommented part in the gist.
OpenAPI Spec File
A link to an OpenAPI document which produces this issue. Ideally, write a minimal reproduction only containing the problematic pieces.
Desktop (please complete the following information):
- OS: Amazon Linux 2
- Python Version: 3.11.5
- openapi-python-client version 0.15.2
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Reproduziere den Fehler mit dem verlinkten OpenAPI-gist, wobei du dich auf Schemas in components konzentrierst, die anyOf/allOf verschachteln, und vergleiche diesen Pfad anschließend mit der funktionierenden Schema-Behandlung unter paths. Verfolge die Parser-Einstiegspunkte für beide Fälle; abgeschlossen ist die Aufgabe, wenn das Component-Schema geparst wird und die Client-Generierung ohne den invalid-property-Fehler erfolgreich ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- openapi, python
- Bereich
- api, tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100