我使用 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 模板以生成接口而不是类。然后我就可以在实现的类中拥有所有自定义代码。
我试图找出是否有一种方法可以在重新生成代码后保留自定义“魔法”,或者是否有更好的方法来处理这种情况而不是更改模板以生成接口而不是类。
最新大师Swagger 代码生成器 https://github.com/swagger-api/swagger-codegen允许您指定文件not在代码生成期间被覆盖在 .swagger-codegen-ignore (类似于 .gitignore)中。
请拉最新的Swagger Codegen高手来试试。
更新:2018 年 5 月,Swagger Codegen 的大约 50 位顶级贡献者和模板创建者决定分叉 Swagger Codegen 以维护一个名为OpenAPI 生成器 https://github.com/OpenAPITools/openapi-generator。请参阅了解更多信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)