swagger codegen 在生成的文件中覆盖我的自定义代码

标签 swagger codegen

我使用 swagger codegen 生成 jaxrs 服务器端类和客户端 java 类。

这是我用来生成类的命令

java -jar modules/swagger-codegen-distribution/target/swagger-codegen-distribution-2.1.2-M1.jar   -i /Users/me/Workspace/swagger-codegen/samples/yaml/echo.yaml   -l jaxrs   -o samples/server/echo/java

生成的服务器代码有一个占位符来写我的“魔法”。
public Response echo(@ApiParam(value = ""  )@HeaderParam("headerParam") String headerParam,
    @ApiParam(value = "",required=true) @QueryParam("message") String message)
      throws NotFoundException {
      // do some magic!
      return Response.ok().entity(new ApiResponseMessage(ApiResponseMessage.OK, "magic!")).build();
  }

我在“echo”方法中添加了“魔法”并重新生成了代码,结果却发现它消失了。避免丢失自定义代码的一种方法是修改 codegen 模板以生成接口(interface)而不是类。然后我可以在实现的类中拥有所有自定义代码。

我试图找出是否有一种方法可以在重新生成代码之后保留自定义“魔法”,或者是否有比更改模板生成接口(interface)而不是类更好的方法来处理这种情况。

最佳答案

最新高手Swagger Codegen允许您指定文件不是 在代码生成期间被 .swagger-codegen-ignore(类似于 .gitignore)覆盖。

请拉最新版的 Swagger Codegen 高手试一试。

更新:2018 年 5 月,Swagger Codegen 的大约 50 位顶级贡献者和模板创建者决定 fork Swagger Codegen 以维护一个名为 OpenAPI Generator 的社区驱动版本.请引用Q&A了解更多信息。

关于swagger codegen 在生成的文件中覆盖我的自定义代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29252817/

相关文章:

java - openapi 3.0 有效的最小值和最大值

java - 如何避免 swagger codegen 接口(interface)中的默认方法实现?

java - 有什么方法可以在 Spring 中使用 Swagger 包含 Controller 中未使用的类吗?

java - 通过jetty.xml进行Swagger UI配置

java - Swagger 路线在 Spring Boot + Jersey 上返回 404

c# - Visual Studio 代码生成 - 使用大写类型名称

python - 如何从一个简单的函数中提取名称?

python - 如何使用另一个 swagger 文档扩展 FastAPI 文档?

azure - 默认情况下,Azure 中不加载默认的 swagger 索引页

python - 如何将 sympy codegen 与包含已实现函数的表达式一起使用