1

这里的教程入门·ArangoDB v3.4.0 文档使用此代码:

// continued
router.post('/sum', function (req, res) {
const values = req.body.values;
res.send({
    result: values.reduce(function (a, b) {
    return a + b;
    }, 0)
});
})
.body(joi.object({
values: joi.array().items(joi.number().required()).required()
}).required(), 'Values to add together.')
.response(joi.object({
result: joi.number().required()
}).required(), 'Sum of the input values.')
.summary('Add up numbers')
.description('Calculates the sum of an array of number values.');

提供预期参数(两个数字)的 URI 示例是什么?

4

1 回答 1

2

假设您的服务器实例在localhost:8529HTTP 上运行,数据库是_systemFoxx 服务的挂载点/getting-started,那么/sum端点的 URL 是:

http://localhost:8529/getting-started/sum

请注意,数据库_system是特殊的:它是默认值,这意味着您不必显式指定它。以下 URL 是等效的:

http://localhost:8529/_db/_system/getting-started/sum

_system如果 Foxx 服务安装在另一个数据库中,则替换为实际数据库的名称。

/sumrouter.post(...)是一个POST路由values

使用 Curl,您可以像这样查询服务:

curl --data "{\"values\":[5,6]}" http://localhost:8529/getting-started/sum

(请求方式-X POST由Curl推断)

响应是一个带有属性键的 JSON 对象,result计算出的数字作为属性值:

{"result":11}

如果您尝试在浏览器中访问 URL,它将是一个 GET 请求(没有有效负载)并失败并出现 HTTP 错误:405 Method Not Allowed

于 2018-12-22T12:54:05.023 回答