ArangoDB Foxx pathParam 未定义

ArangoDB Foxx pathParam is undefined

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

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 行的错误并阻止应用程序 运行:

如果 .pathParam 函数被删除,这运行正常。

我该如何解决 this/what 我做错了吗?我使用的是全新安装的 2.6.9 版(最新)

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

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

据我所知,.pathParam() 的第二个参数中的 type 子属性在 2.5 版中已更改为使用 joi。所以需要改成:

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

除此之外,您需要事先require加入控制器,即

var joi = require('joi');

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