tsoa @Route decorator с переменной dosen’t работает в приложении Express

#node.js #express #swagger #tsoa

#node.js #экспресс #развязность #tsoa

Вопрос:

Я не могу найти никакой информации, @Route декоратор которой не работает с переменной вместо "string" .

Определение чванства, сгенерированное с помощью приведенного ниже кода, неверно.

 export const PATH_GROUP = "/my-path";

export enum PATHS {
  GetButtons = "/",
}

@Route(PATH_GROUP)
export class ButtonsController {
  @Get(PATH_GROUP.GetButtons)
  @Tags("Buttons")
  public static async getButtons(): Promise<ButtonViewModel[]> {
    const buttons = await buttonsService.getAllButtons();

    return buttons.map(button => button.toAddToViewModel());
  }
}
  

Когда я генерирую новое определение swagger, оно выглядит так:
кнопки-раздел для выбора

Если я использую строки вместо переменной / перечисления, все работает правильно.

 @Route("/my-path")
export class ButtonsController {
  @Get("/")
  @Tags("Buttons")
  public static async getButtons(): Promise<ButtonViewModel[]> {
    const buttons = await buttonsService.getAllButtons();

    return buttons.map(button => button.toAddToViewModel());
  }
}
  

Есть ли какая-либо информация о том, что переменные не используются в декораторах tsoa?

Комментарии:

1. Есть какие-либо обновления по этому поводу? Обратная связь была бы оценена.

2. Я думаю, что swagger использует только декораторы для генерации схемы и не проверяет другой код, поэтому, если мы объявим путь в другой переменной, swagger его не увидит. Но это только мое предположение.