我不能让这个匹配:
/people/locationId:12345注意是的,冒号在右侧,而不是您在koa-router文档中看到的左侧。如果它在左边,那就是一个命名参数,它允许任何东西进入。我尝试将其放在右侧的原因是,我喜欢允许调用者在uri本身中指定筛选条件的约定。这是我在各种API中看到的一种约定。
这是我的尝试,我的路由定义,不确定还可以尝试什么,这些创建路由的尝试都不适合我:
/people/([a-z-]+)locationId:?
/people/locationId([a-z-]+):?
/people/locationId:?
/people/:locationId:?它确实与此匹配,但仅仅是因为这条路由的方式,它是一个能够真正获取任何值的catch all。
'/people/:locationId?':{ to:'person#find‘}
我不能使用它,特别是当我定义了其他路由时,例如:
'/people/:id':{ to:'person#findById‘}
因为它会撞上这条路线,这不是正确的路线。
发布于 2015-10-16 19:41:19
/people/locationId::id
火柴
/people/locationId:12345
那么this.params.id就是'12345‘
如果locationId也应该是变量,
/people/:name::id
火柴
/people/locationId:12345
这里this.params.id是'12345‘,this.params.name是'locationId’
https://stackoverflow.com/questions/33159339
复制相似问题