2016-04-25 5 views
2

Ich möchte die Swagger-Dokumentation für eine vorhandene JAX-RS-Implementierung generieren, ohne meinen Code überhaupt ändern zu müssen. Ich würde es lieben, keine Swagger-Annotationen einführen zu müssen, die meine Klassen schmücken.Dokumentieren vorhandener JAX-RS-Implementierung mit Swagger, ohne sie zu kommentieren

Hier

https://github.com/swagger-api/swagger-core/wiki/Swagger-Core-JAX-RS-Project-Setup-1.5.X.

Sie scheinen darauf hinzuweisen, dass Sie nach der Konfiguration Ihrer Anwendung, Swagger zu verwenden, Ihren Code für swagger mit Anmerkungen versehen müssen, um swagger.json generieren zu können. Habe ich recht? Werden Anmerkungen benötigt? Wenn nicht, verstehe ich ihren Zweck nicht sehr gut

Ist diese Magie der Dokumentierung Ihrer bestehenden JAX-RS-Anwendung, ohne Sie ändern Code möglich?

Ich habe diese http://www.adam-bien.com/roller/abien/entry/jax_rs_get_swagger_json gefunden.

Könnte das eine Lösung sein?

Antwort

3

Swagger-Anmerkungen sind erforderlich, um die Dokumentation zu Ihrer JAX-RS-Implementierung hinzuzufügen. Der Zweck besteht darin, Ihre API-Operationen und -Parameter zu definieren, was ihre Bedeutung und ihr Zweck ist.

Der Link, den Sie freigegeben haben, scheint eine Art Hackmechanismus zu sein. Aber ich sehe nicht, wie Code die Absicht Ihrer API herausfinden kann, wenn Sie sie nicht explizit deklarieren.

Wenn Sie Prahlerei Anmerkung Nutzung minimieren müssen, gibt es zwei Möglichkeiten, dies zu tun:

  1. Nur @Api auf Klassenebene verwenden und keine Methode Ebene Annotationen verwenden. Dies wird eine grundlegende swagger.json mit einer Auflistung Ihrer GET/POST-APIs rendern.

  2. Schreiben Sie eine Schnittstelle und verwenden Sie Anmerkungen hier. Ihre API-Klasse muss diese Schnittstelle dann einfach erweitern. Dies reduziert die Auswirkungen auf Ihre vorhandene Klasse.

Hoffe, das hilft.