如果我构建这样的控制器:
@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”),因此没有多条路由处理程序正在执行。