2017-12-01 22 views
2

Mit einer großen Swagger/OpenAPI YAML-Spezifikation, wie kann ich sicher bestimmte API-Endpunkte extrahieren und eine neue .yaml für sie exklusiv generieren?Generieren Sie eine Swagger-Datei für bestimmte Endpunkte aus einer anderen Swagger- oder OpenAPI-Datei

Es ist einfach API-Endpunkte von einem bestimmten Niveau zu identifizieren (wie mit einem Gedankenstrich definiert oder mehr):

paths: 
    /users: 
    ... 
     - $ref: '#/requests/getUser' 
    /repos: 
    ... 
requests: 
    getUser: 
    ... 

ich nur alle Abschnitte kopieren würde, außer paths, in eine neue specs-Datei. Und dann würde ich bestimmte paths Unterabschnitte wie /users: basierend auf Einrückungen kopieren. In Python mit einem Regex.

Aber ist diese direkte Methode sicher für die Spezifikationen?

+1

Sie können data = yaml.load (your.yaml) dann nur data.get ('paths') für alle Pfade erstellen und yaml.dump später machen, Regex hier nicht erforderlich – Janom

+0

Ist Python eine Voraussetzung? Dies kann mit dem Java Swagger-Parser geschehen, aber ich weiß nichts über Python. – Helen

Antwort

0

Mit Swagger Inspector können Sie API-Aufrufe durchführen und dann die Definitionsdatei daraus erstellen (so dass Sie nur eine Teilmenge von Anrufen auswählen können, wie Sie möchten). Siehe inspector.swagger.io - es ist UI-basiert, aber möglicherweise etwas Zeit sparen.

Verwandte Themen