2017-04-06 3 views
3

Si vous souhaitez générer une documentation Swagger UI pour votre projet Spring MVC, vous disposez essentiellement de deux options: Enunciate et SpringFox.Génération de Swagger JSON pour Spring MVC: Springfox ou Enunciate

J'ai plongé dans le sujet, mais n'a pas trouvé une seule opinion qui est la meilleure.

De mon point de vue Enunciate semble préférable car il est complètement externe à votre projet. Pas besoin d'ajouter un Bean spécial avec la configuration, pas besoin de référencer un paquet supplémentaire avec des annotations et d'annoter vos contrôleurs avec eux. Vous utilisez simplement JavaDoc avec des balises personnalisées et cela fait l'affaire.

Y a-t-il d'autres considérations à prendre en compte?

Merci.

Répondre

1

Après avoir utilisé les deux, je trouve les principales différences:

  • Enunciate évalue les annotations au moment de la construction, Springfox lit la configuration Spring MVC du contexte d'application (temps de construction par rapport à l'exécution)
  • Enunciate peut utiliser Javadocs dans le cadre de la documentation (build vs. runtime)
  • Springfox nécessite un test pour générer un fichier de configuration swagger qui peut être utilisé pour la génération de code supplémentaire qui ne s'intègre pas facilement dans un cycle de vie standard de maven. Je préfère utiliser generate-sources/generate-resources pour la génération de code/doc. Avec Springfox je suis coincé avec la génération après des tests.
  • Springfox avec springfox-swagger-ui est un moyen très simple de verrouiller une interface utilisateur swagger au-dessus de votre application Spring Boot/MVC existante. OTOH, en utilisant quelque chose comme ReDoc avec le Swagger Spec généré est presque aussi simple mais plus flexible.
  • Springfox nécessite une certaine configuration au sein de votre application, de sorte que votre application aura une dépendance à l'exécution de Springfox.