Für ein Webprojekt möchte ich eine Swagger (open api) API erstellen, die sowohl für den Backend-Server (go) als auch für das Frontend (aurela-cli + typescript) verwendet werden kann).Integrieren Sie swagger typescript-fetch api in aurelia-cli tyepscript project
Die swagger-codegen
Werkzeug unterstützt die folgenden Client-Generatoren
- Maschinenschrift-Winkel
- Maschinenschrift-angular2
- Maschinenschrift-Knoten
- Maschinenschrift-fetch
Nun sind die ersten drei offensichtlich gelten nicht für Dieses Problem so bin ich mit typescript-fetch
verlassen. So generieren Sie den Client von einem swagger.yml
ich folgenden:
swagger-codegen generate -i swagger.yml -l typescript-fetch -o api
Dies führt zu einem Projektordner wie in den swagger repository gesehen.
Die Frage ist, wie man dies in ein Aurelia-Projekt einbezieht.
Ich lief bereits npm install
was zu einer transpilierten api.js (und entsprechende api.d.ts) führte. Ich bin mir jedoch unsicher, wie ich als nächstes vorgehen soll.
1) Wo sollte ich diesen Ordner ablegen?
- src/api
- node-modules/<fake-module-name>
- woanders
2) Wie kann ich aurelia über das 'Modul' in der Datei aurelia.json
informieren?
- "<fake-module-name>"
- "{ "name": "<fake-module-name>", "path": "../node_modules/<fake-module-name>dist", "main": "api" }
- etwas anderes
Das Hauptproblem ich schlagen bin, ist, dass, obwohl aurelia.json über die api weiß in dem Modul, den Build-Prozess die Abhängigkeiten innerhalb dieses Moduls bringen (au run --watch)
zum Erliegen, da sie in dem Front-End des Verzeichnis src
irgendwie gesucht werden.
Jede Hilfe, wie diese.
PS erkannt werden, sehr zu lösen habe ich eine leichtes Gefühl, dass ich die Abhängigkeiten und Abhängigkeiten des API-Moduls "einfach" in die aurelia.json importieren müsste ...
Haben Sie versucht, Nswag anstelle von clientseitig codegen zu verwenden? Ich erwähne es, weil es eine bestimmte Aurelia Abruf-Client-Implementierung hat. Sie müssen kein .NET-Backend verwenden, damit es funktioniert. Eine swagger.json-Datei sollte den Zweck erfüllen. siehe: https://github.com/NSwag/NSwag –
Ja, ich habe schon in nswag geschaut (nur vergessen, es zu erwähnen ..). Ich fühlte mich nicht wohl dabei, es in unseren Build-Prozess einzuführen, da wir nicht unter Windows arbeiten und Mono oder die .NET-Konsolenbibliothek als Dev-Abhängigkeit benötigen. – Nikola