这里的教程入门·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示例是什么?
假设您的服务器实例通过HTTP在localhost:8529
上运行,数据库为_system
,Foxx服务的装载点为/getting-started
,则/sum
端点的URL为:
http://localhost:8529/getting-started/sum
请注意,数据库_system
是特殊的:它是默认值,这意味着您不必显式指定它。以下URL等效:
http://localhost:8529/_db/_system/getting-started/sum
如果Foxx服务安装在另一个数据库中,则用实际数据库的名称替换_system
。
/sum
是POST路由(router.post(...)
),期望的主体(HTTP请求的内容/有效载荷)由joi模式描述:一个JSON对象,属性名称为values
,属性值为数字数组(一个或多个数字)。
使用Curl,您可以这样查询服务:
curl --data "{"values":[5,6]}" http://localhost:8529/getting-started/sum
(请求方法-X POST
由Curl推断)
响应是一个JSON对象,具有属性密钥result
和计算的数字作为属性值:
{"result":11}
如果你尝试在浏览器中访问URL,它将是一个GET请求(没有有效负载),并以HTTP错误失败:405方法不允许