生成客户端代码后,TypeScript 版本与 Angular11 不兼容

TypeScript version not compatible with Angular 11 after generating client code

我无法编译生成的客户端,因为 TypeScript 版本与 Angular11:

不兼容
ERROR: The Angular Compiler requires TypeScript >=4.0.0 and <4.1.0 but 3.5.3 was found instead.

如何在生成代码时设置正确的 TypeScript 版本?这就是我定义 gradle 任务的方式:

openApiGenerate {
    generatorName = 'typescript-angular'
    inputSpec = swaggerFilePath
    outputDir = apiClientOutputDir
    configOptions = [
            npmName   : 'rest-client',
            npmVersion: '0.0.0',
            ngVersion: '11.0.6'
    ]
}

这是写入 rest-client 模块的 package.json 文件的内容。

  "devDependencies": {
    "@angular/common": "^11.0.6",
    "@angular/compiler": "^11.0.6",
    "@angular/compiler-cli": "^11.0.6",
    "@angular/core": "^11.0.6",
    "@angular/platform-browser": "^11.0.6",
    "ng-packagr": "^5.4.0",
    "reflect-metadata": "^0.1.3",
    "rxjs": "^6.5.0",
    "tsickle": "^0.35.0",
    "typescript": ">=3.4.0 <3.6.0",
    "zone.js": "^0.9.1"
  }

我的依赖项:

// Spring Docs
implementation 'org.springdoc:springdoc-openapi-ui:1.5.2'
implementation 'org.springdoc:springdoc-openapi-data-rest:1.5.2'

问题是我使用的是不了解 Angular 11.

的过时版本的 OpenAPI 生成器

改变

id 'org.openapi.generator' version '4.2.2'

id 'org.openapi.generator' version '5.0.0'

已解决问题。

此时我也将我的 Spring 文档依赖升级到最新版本:

// Spring Docs
implementation 'org.springdoc:springdoc-openapi-ui:1.5.2'
implementation 'org.springdoc:springdoc-openapi-data-rest:1.5.2'