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');
该教程确实已过时,需要修复。
使用 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');
该教程确实已过时,需要修复。