路由控制器中的路由名称冲突

时间:2020-03-11 18:14:39

标签: node.js nodes nest

如果我构建这样的控制器:


@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”,我注意到两个方法都被调用。 我知道这不是实现REST api的好方法,实际上我很鼓励这样做,但是我正在从旧项目转移,我想转到路由控制器。我注意到,通过使用本机快速方式声明路由(例如在旧项目中),调用“ / items / all”时选择的路由仅是一个(“ / items / all”),因此没有多条路由处理程序正在执行。

0 个答案:

没有答案