ArangoDB Foxx微服务入门教程:这个例子的工作URI是什么



这里的教程入门·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方法不允许

最新更新