【问题标题】:Prevent openapi-generator renaming enums in JavaScript/TypeScript防止 openapi-generator 在 JavaScript/TypeScript 中重命名枚举
【发布时间】:2019-12-02 08:57:04
【问题描述】:

我们正在使用 openapi 生成器来生成我们的 REST 客户端。工作得非常好,直到我们开始使用UPERCASE_UNDERSCORE 格式的枚举。它去掉了下划线。这样做的主要问题是它使这个枚举在 Typescript 中变得非常痛苦,因为属性名称与定义不匹配。

这是一个示例,来自 YAML:

  properties:
    boostId:
      type: string
      maxLength: 50
    type:
      type: string
      enum:
        - BOOST_UNIQUE_ALERT_TYPE_COUNTER
        - BOOST_UNIQUE_SOURCE_SYSTEM_COUNTER

生产:

var BoostConfiguration;
(function (BoostConfiguration) {
    /**
     * @export
     * @enum {string}
     */
    var TypeEnum;
    (function (TypeEnum) {
        TypeEnum["UNIQUEALERTTYPECOUNTER"] = "BOOST_UNIQUE_ALERT_TYPE_COUNTER";
        TypeEnum["UNIQUESOURCESYSTEMCOUNTER"] = "BOOST_UNIQUE_SOURCE_SYSTEM_COUNTER";
    })(TypeEnum = BoostConfiguration.TypeEnum || (BoostConfiguration.TypeEnum = {}));
})(BoostConfiguration = exports.BoostConfiguration || (exports.BoostConfiguration = {}));

出于某种原因,它去掉了“BOOST”,并删除了下划线。我已经尝试过enumPropertyNaming=originalmodelPropertyNaming=original,似乎都没有改变任何东西(在枚举中)。这是我们的生成器脚本:

openapi-generator generate -i api/socosApi.yaml -g typescript-axios -o generated-sources/api --additional-properties=enumPropertyNaming=original,modelPropertyNaming=original

【问题讨论】:

  • --additional-properties=enumPropertyNaming=original 在 v4.3.1 中为我工作。它停止去除下划线

标签: typescript openapi-generator


【解决方案1】:

可以通过将“removeEnumValuePrefix”设置为“false”来防止剥离“BOOST”(参见https://github.com/OpenAPITools/openapi-generator/pull/5166

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-21
    • 2014-02-05
    • 2022-11-08
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    • 2020-09-01
    • 2019-12-21
    相关资源
    最近更新 更多