如果你想为你的 Spring MVC 项目生成 Swagger UI 文档,基本上你有两个选择:Enunciate 和 SpringFox。

我深入研究了这个主题,但没有找到一个更好的意见。

从我的角度来看,Enunciate 看起来更可取,因为它完全在您的项目之外。无需添加带有配置的特殊 Bean,无需引用带有注释的附加包并用它们注释您的 Controller 。您只需将 JavaDoc 与自定义标签一起使用,它就可以完成这项工作。

还有其他需要考虑的因素吗?

谢谢。

最佳答案

使用两者后,我发现以下主要区别:

  • Enunciate 在构建时评估注解,Springfox 从应用程序上下文中读取 Spring MVC 配置(构建时间 vs. 运行时)
  • Enunciate 可以使用 Javadoc 作为文档的一部分(构建与运行时)
  • Springfox 需要一个测试来生成一个 swagger 配置文件,该文件可用于进一步的代码生成,这不适合标准的 maven 生命周期。我更喜欢使用 generate-sources/generate-resources 来生成代码/文档。使用 springfox,我在运行测试后坚持生成。
  • Springfox 和 springfox-swagger-ui 是一种将 swagger UI 固定在现有 Spring Boot/MVC 应用程序之上的非常简单的方法。 OTOH,使用像 ReDoc 这样的东西和生成的 Swagger Spec 几乎一样简单,但更灵活。
  • Springfox 需要在您的应用程序中进行相当多的配置,因此您的应用程序将在运行时依赖 Springfox。
  • 关于rest - 为 Spring MVC 生成 Swagger JSON : Springfox or Enunciate,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43249895/

    10-11 07:05