当层次结构相同时,seneca中url的模式匹配问题

时间:2017-01-17 10:29:31

标签: javascript express seneca

我有两个网址:

  1. /测试/运行
  2. /测试/ {为test_id}
  3. 我有两条不同的路线,如:

    1. {
    prefix: '/test',
    pin: 'role:test,cmd:*',
    map:{
    run: {GET: true}
    }
    }
    
    2. {
    pin: 'role:test,cmd:*',
    map:{
    test: {GET: true, suffix: '/:test_id'} 
    } 
    }
    

    然而,当我访问/测试/运行时。第二个模式通过作为URL参数运行来触发。

    这是预期的行为还是有其他方法可以做到这一点?

1 个答案:

答案 0 :(得分:2)

您必须设置不同的模式( 否则塞内卡将无法区分它们

用于seneca.use('role:web', {..})和行动seneca.act('role:test,cmd:test,action:byId', (..)=>{..})

的塞内卡插件
{
 prefix: '/test',
 pin: 'role:test,cmd:*',
 map:{
 run: {GET: true}
}

{
 prefix: '/test',
 pin: 'role:test,cmd:*,action:byId',
 map:{
 test: {GET: true, suffix: '/:test_id'} 
}