【发布时间】:2019-09-04 11:49:45
【问题描述】:
我们通过 gradle(即 openapi-generator-gradle-plugin)使用 OpenAPI 来生成 Jersey 资源。一般来说,这工作正常。
生成的方法如下所示:
public Response getSomeFoo(@ApiParam(...) String someParam, ...) { ...
但我们也希望支持使用Asynchronous Server API 的方法。
理论上我们可以将所有生成的同步方法更改为异步方法,即调整模板文件api.mustache和apiService.mustache,我们将Response替换为void并添加@Suspended final AsyncResponse asyncResponse作为第一个参数(加上添加导入等)。
但是将所有请求从同步处理转换为异步处理对我们来说是没有意义的。
所以我的问题是:我们如何实现某种“切换”以在输入文件中指示我们想要为每种方法生成(同步/异步)什么样的实现?
我正在考虑编写一个新的生成器,它可以读取例如来自输入规范文件的标签并将其放入在模板文件中评估的布尔变量中。这可行吗?有没有类似的问题已经解决了?或者你对我有什么其他想法?
谢谢!
【问题讨论】:
标签: java jersey-2.0 openapi-generator