#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 его не увидит. Но это только мое предположение.