ArangoDB Foxx pathParam未定义

时间:2015-10-09 23:25:45

标签: arangodb foxx

使用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 :(得分:1)

AFAIK。版本2.5中更改了.pathParam()的第二个参数中的type子属性以使用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');

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

答案 1 :(得分:0)

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

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