如何使用 OpenAPI 3.0 创建同一请求的多个版本?

How can I create multiple versions of the same request with 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 document 的端点可以发送 JSON 或 XML 有效负载,但输出(auto-generated 代码)目前仅支持 JSON。