2017-04-06 3 views
3

Wenn Sie Swagger UI Dokumentation für Ihre Spring MVC-Projekt generieren möchten, haben Sie im Wesentlichen zwei Optionen: Enunciate und SpringFox.Generating Swagger JSON für Spring MVC: Springfox oder Enunciate

Ich tauchte in das Thema, fand aber keine einzige Meinung, welche besser ist.

Aus meiner Sicht scheint Enunciate vorzuziehen, da es komplett extern zu Ihrem Projekt ist. Keine Notwendigkeit, ein spezielles Bean mit Konfiguration hinzuzufügen, kein zusätzliches Paket mit Annotationen zu referenzieren und Ihre Controller mit ihnen zu kommentieren. Sie verwenden einfach JavaDoc mit benutzerdefinierten Tags und es macht den Job.

Gibt es noch weitere Überlegungen?

Danke.

Antwort

1

Nachdem beide verwenden, finde ich die folgenden wesentlichen Unterschiede:

  • enunciate wertet Anmerkungen bei der Erstellung, Springfox liest die Spring MVC-Konfiguration aus dem Anwendungskontext (Zeit vs. Laufzeit bauen)
  • artikulieren können Verwenden Sie Javadocs als Teil der Dokumentation (Build vs. Runtime)
  • Springfox erfordert einen Test, um eine Swagger-Konfigurationsdatei zu generieren, die für die weitere Codegenerierung verwendet werden kann, die nicht gut in einen Standard-Maven-Lebenszyklus passt. Ich bevorzuge es, generate-sources/generate-resources für die Code/doc-Generierung zu verwenden. Mit Springfox bleibe ich beim Generieren nach den Tests.
  • Springfox mit springfox-swagger-ui ist eine wirklich einfache Möglichkeit, eine Swagger-Benutzeroberfläche auf Ihrer vorhandenen Spring Boot/MVC-Anwendung zu verankern. OTOH, das etwas wie ReDoc zusammen mit der generierten Swagger Spec verwendet, ist fast so einfach, aber flexibler.
  • Springfox erfordert ziemlich viel Konfiguration innerhalb Ihrer Anwendung, so dass Ihre App eine Laufzeitabhängigkeit von Springfox hat.
Verwandte Themen