首页 文章

ArangoDB Foxx pathParam未定义

提问于
浏览
1

使用Web UI制作了一个新的Foxx应用程序,并添加了以下路线:

controller.get('/names/:name', function (request, response) {
  var name = request.params('name');

  response.json(db._query(
    "FOR x IN collection"+
      " FILTER x.name == " + name +
      " RETURN x"
    ).toArray());
})
.pathParam('name', { // line 112
  description: 'A name value to search for',
  type: 'String'
})
.errorResponse(ArangoError, 404, 'Data not found');

这会给出指向第112行的错误并阻止应用程序运行:

http://puu.sh/kEx6h/5641b92739.png

如果删除 .pathParam 函数,则运行正常 .

我怎样才能解决这个/我做错了什么?我正在使用2.6.9版(最新版)的全新安装

2 回答

  • 0

    所以,根据最新的controller docs,似乎现在需要使用joi .

    错误的原因是,我正在关注不使用joi的Foxx tutorial .

  • 1

    AFAIK在.pathParam()的第二个参数中的 type 子属性在版本2.5中被更改为使用joi . 所以需要改为:

    .pathParam('name', { // line 112
      description: 'A name value to search for',
      type: joi.string() // this line needs changing
    })
    

    除此之外,你需要事先在控制器中使用 require joi,即

    var joi = require('joi');
    

    该教程确实已过时,需要修复 .

相关问题