Java Swagger codegen服务器端工作流

Java Swagger codegen服务器端工作流,java,jax-rs,swagger,jersey-2.0,swagger-codegen,Java,Jax Rs,Swagger,Jersey 2.0,Swagger Codegen,我正在尝试使用Java(jaxrs-jersey2)将swagger codegen合并到我的新绿地项目中 有很多资源已经记录了项目的各个部分;然而,我仍然无法找到任何关于与这些工具一起使用的最佳工作流的高级建议 据我所知,swagger codegen将能够生成客户端代码以与我的API交互,这样我就不必自己编写。这将通过查看swagger.yaml(2.0)或openapi.yaml(3.0)文件实现。这一部分很清楚 但是,似乎有多种方法可以生成此规范文件。据我了解,主要有两种方式: 使用JA

我正在尝试使用Java(jaxrs-jersey2)将swagger codegen合并到我的新绿地项目中

有很多资源已经记录了项目的各个部分;然而,我仍然无法找到任何关于与这些工具一起使用的最佳工作流的高级建议

据我所知,swagger codegen将能够生成客户端代码以与我的API交互,这样我就不必自己编写。这将通过查看swagger.yaml(2.0)或openapi.yaml(3.0)文件实现。这一部分很清楚

但是,似乎有多种方法可以生成此规范文件。据我了解,主要有两种方式:

  • 使用JAXR和Swagger注释的组合编写一个服务器实现——在编译步骤中运行一个maven插件,生成一个Swagger.yaml规范文件供客户端生成插件使用

  • 首先编写一个swagger.yaml规范,并为Jersey生成服务器存根代码,只实现业务逻辑,与所有服务器样板文件分开

  • 这两种方式中哪一种是推荐的工作流?这听起来像(2)意味着编写更少的代码,只关注应用程序逻辑,而不必太担心Jersey特定的胶水来让API工作。这也意味着API的唯一真实来源变成了一个简单的yaml文件,而不是一堆代码

    但是,我不确定如何正确设置:

  • 我的构建是否需要有一个不断重新生成服务器存根的编译阶段
  • 我是否只是从生成的服务器存根进行扩展,而不用担心用@Path、@GET等注释API路径
  • 我是否误解了服务器存根生成的用例?即,第一种方法(泽西岛代码优先)是否更合适
  • 如果这两种方法之间没有真正的区别,你什么时候会选择(1)而不是(2),反之亦然
  • 非常感谢