首页 > 解决方案 > 在 OpenAPI 规范中,是否可以让序列化字段和 POJO 字段具有不同的名称?

问题描述

在下面附加一个片段,以获取来自第三方托管的 API 端点之一的响应。

"responses": {
  "200": {
    "description": "Returns an array of objects",
    "schema": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "31": {
            "type": "string",
            "description": "Last Price"
          },
          "55": {
            "type": "string",
            "description": "Symbol"
          },
          ... About 50 odd more fields ...
        }   
      }
    }
  }
}

我正在使用 openapi-generator 生成客户端存根。生成的响应 POJO 中的字段如下所示:

@SerializedName("31")
private String _31;

@SerializedName("55")
private String _55;

....

@ApiModelProperty("Last Price")
public String get31() {
    return this._31;
}

@ApiModelProperty("Symbol")
public String get55() {
    return this._55;
}

是否可以以某种方式修改 YAML,以便尽管 JSON 字段保持 31/55,但 POJO 字段名称从 _31/_55 更改为一些更传统的名称,如 lastPrice/symbol。

标签: javaswaggeropenapiswagger-codegenopenapi-generator

解决方案


推荐阅读