java - 如何使用 OpenAPI 3.0 创建同一请求的多个版本?
问题描述
我使用 maven Swagger Codegen V3 插件从 yaml 文件生成 API。我想生成具有相同路径但不同主体类型的不同版本的休息请求。
我使用这个 YAML 代码来生成它。
content:
application/json;version=1.0.0:
schema:
$ref: '#/components/schemas/Object1'
application/json;version=2.0.0:
schema:
$ref: '#/components/schemas/Object2'
我得到以下结果:
@Consumes({ "application/json;version=1.0.0", "application/json;version=2.0.0" })
...
public void method(Object1 body);
@Consumes({ "application/json;version=1.0.0", "application/json;version=2.0.0" })
...
public void method(Object2 body);
但我需要的结果如下所示。
@Consumes({ "application/json;version=1.0.0" })
...
public void method(Object1 body);
@Consumes({ "application/json;version=2.0.0" })
...
public void method(Object2 body);
我使用 consumes 参数进行版本控制。那么有没有办法得到我想要的结果?
解决方案
这是一个限制 Swagger Codegen v3 目前不支持多个有效负载。Petstore OpenAPI 文档具有可以发送 JSON 或 XML 有效负载的端点,但输出(自动生成的代码)目前仅支持 JSON 。
推荐阅读
- laravel - 爆炸返回数组,但是当使用索引从该数组中获取值时,它返回数组括号
- python - Sage 中的稀疏矩阵
- java - 如何忽略用户无效输入并重新提示相同的问题?
- javascript - 在反应生命周期方法中: doc.addEventListener('onmousemove', ... 不工作,但 doc.onmousemove = ... 是。为什么?
- python-3.x - 组合pdf获取文件位置权限错误
- java - 我正在尝试使用 setVisibility() 方法从按钮打开另一个 jframe,没有抛出错误,但没有任何反应
- javascript - 为什么 String.raw 可以处理双反斜杠而常规转义却不能?
- c++ - 如何在级数求和中达到最大精度?
- javascript - javascript 不考虑上下文 JSON 数据
- python - 如何使用 tkinter GUI 可视化 matplotlib 预测?