如何在 swagger @ApiProperty 类型中使用类型(打字稿类型)

How to use type (typescript type) in swagger @ApiProperty type

我遇到了问题。 我需要在 API 上的 @ApiProperty 中公开一个 'type'。 但是招摇不接受。我在很多网站上寻找解决方案,但我没有找到。

这是我得到的错误:

TS2693: 'testTest' only refers to a type, but is being used as a value here.

type testTest = 'A' | 'B';

    @ApiProperty({
  type: testTest,
  example: 'fr',
})
test: testTest;

我不能使用其他东西,因为我需要使用的类型来自外部库。

您不能在 Swagger 中使用 TypeScript type 作为 type 的值,因为 type 您从所述库导入的内容在运行时不可用,或者一旦它被转译为javascript。它仅用于类型检查。这就是打字稿的工作原理。这对于任何类型、接口、return 类型等都是相同的...

我建议你做的是让一个变量保存 type testTest = 'A' | 'B';

中的值
const testTest = ['A','B'];

@ApiProperty({
  type: String,
  example: testTest[0],
  enum: testTest
})
test: testTest;