конфликт в имени маршрута в контроллере маршрутизации - PullRequest
0 голосов
/ 11 марта 2020

Если я собираю контроллер следующим образом:


@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"), поэтому нет выполняется несколько обработчиков маршрута.

...