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(最新)的全新安装

4

2 回答 2

1

AFAIK type.pathParam() 的第二个参数中的子属性在 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');

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

于 2015-10-12T07:37:37.830 回答
0

因此,根据最新的控制器文档,现在似乎需要使用 joi 。

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

于 2015-10-10T18:59:11.927 回答