mattpolzin / mattpolzin/OpenAPIKit

Allow $refs for vendor extensions

Offen
#255 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

enhancement
Vorherrschende Sprache
Swift
Sterne
333
Forks
49
Ø Merge
19 Std. 9 Min.
Gemergte PRs (30 T.)
10

Beschreibung

Hi,

I could be wrong, but it looks like vendor extensions can only be resolved as AnyCodable dictionaries of [String: Any]. It would be great if we could use $refs in vendor extensions, i.e be able to do something like this:

openapi: 3.1.0
...
x-vendor-extension-cors: "#/components/schemas/cors"
...
components:
  schemas:
    cors:
      allowedOrigins: 
        - "*"
      allowedMethods:
        - GET
        - POST
        - PUT
        - OPTIONS
        - PATCH
        - DELETE
      allowedHeaders:
        - Accept 
        - Authorization 
        - Content-Type 
        - Origin 
        - X-Requested-With,
        - Application-ID
    

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit nachzuverfolgen, wie Vendor-Erweiterungen dekodiert werden und wie $ref-Werte in der Swift OpenAPI-Implementierung aufgelöst werden. Verwende das YAML-Beispiel im Issue als das zu untersuchende Verhalten; abgeschlossen ist die Aufgabe, wenn Vendor-Erweiterungen auf Component-Schemas verweisen können, statt auf AnyCodable-Wörterbücher beschränkt zu sein, und der Beispiel-Fall durch Tests abgedeckt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
swift
Bereich
api
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.