#typescript #swagger #nestjs #openapi
Вопрос:
У меня есть конечная точка, которая вернет тип записи TypeScript. Однако, когда я использую файл @ApiOkResponse
from NestJS для его документирования, я получаю сообщение об ошибке: 'Record' only refers to a type, but is being used as a value here.
.
Я пытаюсь сделать это вот так:
@Get('my/endpoint')
@ApiOkResponse({
type: Record<KeyEnum, ValueClass>,
description: 'some description',
})
public async myEndpoint(): Promise<Record<KeyEnum, ValueClass>> {
return this.myService.method();
}
Комментарии:
1. короче говоря, типы не существуют во время выполнения, поэтому вы не можете использовать псевдонимы типов или интерфейсы из TS. Если вы хотите использовать
type
(и неschema
использовать), вы должны превратить этоRecord<KeyEnum, ValueClass>
в класс js