ArangoDB Foxx 微服务入门教程:此示例的工作 URI 是什么?
ArangoDB Foxx Microservices Getting Started tutorial: what is a working URI for this example?
这里的教程Getting started · ArangoDB v3.4.0 Documentation使用了这段代码:
// 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
,那么 URL /sum
端点的是:
http://localhost:8529/getting-started/sum
请注意数据库 _system
是特殊的:它是默认的,这意味着您不必明确指定它。下面的URL是等价的:
http://localhost:8529/_db/_system/getting-started/sum
如果 Foxx 服务挂载在另一个数据库中,请将 _system
替换为实际数据库的名称。
/sum
是一个 POST 路由(router.post(...)
)并且预期的主体(HTTP 请求的 content/payload)由 joi 模式描述:A 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 方法不允许
这里的教程Getting started · ArangoDB v3.4.0 Documentation使用了这段代码:
// 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
,那么 URL /sum
端点的是:
http://localhost:8529/getting-started/sum
请注意数据库 _system
是特殊的:它是默认的,这意味着您不必明确指定它。下面的URL是等价的:
http://localhost:8529/_db/_system/getting-started/sum
如果 Foxx 服务挂载在另一个数据库中,请将 _system
替换为实际数据库的名称。
/sum
是一个 POST 路由(router.post(...)
)并且预期的主体(HTTP 请求的 content/payload)由 joi 模式描述:A 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 方法不允许