我使用swagger codegen生成jaxrs服务器端类以及客户端java类.
这是我用来生成类的命令__CODE__
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
Run Code Online (Sandbox Code Playgroud)
生成的服务器代码有一个占位符来写我的"魔法".
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();
}
Run Code Online (Sandbox Code Playgroud)
我在"echo"方法中添加了"magic"并重新生成了代码,只是为了看到它消失了.避免丢失自定义代码的一种方法是修改codegen模板以生成接口而不是类.然后我可以在实现的类中拥有所有自定义代码.
我试图找出是否有一种方法可以保留自定义"魔法",即使在重新生成代码之后,或者有更好的方法来处理这种情况,而不是更改模板以生成接口而不是类.
Swagger Codegen的最新大师允许您在代码生成过程中在 .swagger-codegen-ignore(类似于 .gitignore)中指定不被覆盖的文件。
请拉取最新的 Swagger Codegen 大师来试一试。
更新:2018 年 5 月,大约 50 位 Swagger Codegen 的顶级贡献者和模板创建者决定分叉 Swagger Codegen 以维护一个名为OpenAPI Generator的社区驱动版本。请参阅问答以获取更多信息。
| 归档时间: |
|
| 查看次数: |
4471 次 |
| 最近记录: |