Если я собираю контроллер следующим образом:
@JsonController()
export class ItemController {
@Get("/items/:itemId")
getItem(@Param("itemId") itemId: number) {
log.info("/items/:itemId")
// if (itemId == "all")return this.getAllItems();
// return new ItemModel({ite_id: itemId}).fetch().then(marshalBookshelf);
return {message: "/items/:itemId"};
}
@Get(new RegExp("/items/all"))
getAllItems() {
log.info("/items/all")
return {message: "/items/all"};
}
}
и пытаюсь получить "/ items / all", я замечаю, что оба метода вызываются. Я знаю, что это не очень хороший способ для реализации API REST, на самом деле я об этом не рекомендую, однако я перехожу от устаревшего проекта и хотел бы перейти к контроллеру маршрутизации. Я заметил, что при использовании родного express способа объявления маршрутов (как в унаследованном проекте), маршрут, выбираемый при вызове "/ items / all", только один ("/ items / all"), поэтому нет выполняется несколько обработчиков маршрута.