【问题标题】:Using npm nswag to generate TypeScript files from Swagger .json files containing OData values使用 npm nswag 从包含 OData 值的 Swagger .json 文件生成 TypeScript 文件
【发布时间】:2017-06-28 16:27:44
【问题描述】:

我正在使用 npm nswag 使用 swaggerToTypeScriptClient 代码生成器从 Swagger .json 文件生成 TypeScript 文件。

遇到 JSON 中包含的 OData 属性时会出现问题。生成接口时,TypeScript 会抛出错误,因为它无法识别 OData 属性值中的“@”。

这是原始 Swagger .json 的示例:

"Swashbuckle.OData.ODataResponse[System.Collections.Generic.List[Shadow.DataLayer.ReleaseBatchs]]": {
  "type": "object",
  "properties": {
    "@odata.context": {
      "type": "string"
    },
    "value": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Shadow.DataLayer.ReleaseBatchs"
      }
    }
  }
}

这是nswag swaggerToTypeScriptClient生成的对应TypeScript:

export interface ReleaseBatchs {
    @odata.context?: string | undefined;
    value?: ReleaseBatchs2[] | undefined;
}

这会引发错误,因为它不喜欢属性中的“@”。

如果生成的代码将属性用引号括起来,它会起作用,如下所示:

export interface ReleaseBatchs {
    "@odata.context"?: string | undefined;
    value?: ReleaseBatchs2[] | undefined;
}

有没有办法让 swaggerToTypeScriptClient 将这些属性用引号括起来?还是让它与 OData 值兼容?

【问题讨论】:

标签: odata swagger nswag


【解决方案1】:

这已在 NSwag v11.3 中修复

【讨论】:

    猜你喜欢
    • 2016-03-24
    • 1970-01-01
    • 2019-05-03
    • 2019-08-26
    • 1970-01-01
    • 2019-11-15
    • 2016-12-18
    • 2013-10-10
    • 2016-12-24
    相关资源
    最近更新 更多