Node Server mit Swagger Dokumentation

Gast #7234492
Lesenswert?

Servus zusammen,

ich habe letztes Wochenende ziemlich viel Zeit gehabt und mit einem 
Projekt begonnen, dass ich schon lange in der Pipeline hatte. Ein 
Deutsch zu Bairisch Übersetzer. Ich habe dafür einen Server aufgesetzt 
mit Node und express und das Ganze in TypeScript geschrieben. Wie ich 
fertig war wollte ich die Endpunkte sauber mit Swagger dokumentieren. 
Aber obwohl Swagger recht bekannt ist, war es gar nicht so leicht eine 
ordentliche Anleitung / Doku zu finden. Ich bin dann letztlich auf 2 
Varianten gestoßen die ich nochmal ausführlich zusammengefasst habe. Wie 
immer einmal auf deutsch: 
https://nerd-corner.com/de/swagger-api-doku-zu-node-server-hinzufuegen/ 
und einmal auf englisch: 
https://nerd-corner.com/import-swagger-in-node-typescript-project/
Angehängte Dateien:
Gast #7234527
Lesenswert?

Josef schrieb:
> Aber obwohl Swagger recht bekannt ist, war es gar nicht so leicht eine
> ordentliche Anleitung / Doku zu finden

Ich habe mit https://swagger.io/specification/ und von dem Beispiel "Pet 
Store" auf https://editor.swagger.io/ gelernt. Ich erstelle das OpenApi 
Schema manuell und generiere daraus Code (in meinem Fall in Java und 
Go). Wobei man den Code auch manuell schreiben kann, wenn man will.

Ab und zu habe ich Spezialfragen, deren Antworten ich in 
Diskussionsforen oder auf Stackoverflow finde. Wobei die Antwort in 
meinen Fällen fast immer "geht nicht" lautete. Die offizielle Doku 
beschreibt halt nur was geht, nicht was man gerne hätte. Als alter 
SOAP/XML Hase muss ich mich noch daran gewöhnen.

Die Swagger UI kann man von Gitlab herunterladen und einfach zusammen 
mit den anderen statischen Dateien im eigenen Webserver ausliefern. Dazu 
braucht man nur den "dist" Ordner zu kopieren. Konfiguriert wird das 
Ding in der bereits vorhandenen Datei swagger-initializer.js, wo 
standardmäßig (Überraschung) der "Pet Store" drin steht. Anleitung dazu: 
https://swagger.io/docs/open-source-tools/swagger-ui/usage/installation/

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren