ArangoDB:Foxx微服务入门:404:错误消息:未知路径

时间:2018-12-18 20:07:46

标签: arangodb arangodb-foxx

对于Foxx Microservices的“入门”部分,使用ArangoDB文档version 3.3version 3.4,我将无法克服以下错误:

HKey

该错误显示在服务的“ API”选项卡上。根据教程安装我的服务后,我将获得所描述的服务卡。我单击该卡,然后单击“ API”选项卡,并显示以上错误。

为消除错别字,我尝试从ArangoDB文档中复制并粘贴确切的文件内容,并严格按照每个步骤进行操作,但仍然出现相同的错误。

我新创建的Failed to load API definition. NetworkError when attempting to fetch resource. http://192.168.1.1:8529/_db/_system/_admin/aardvark/foxxes/docs/swagger.json?mount=/getting-started 服务的“信息”标签包含以下信息:

  

作者:
  挂载:/ getting-started
  模式:开发
  版本:未知
  版本许可证:未知许可证
  路径:/ var / lib / arangodb3-apps / _db / _system /入门/ APP

该示例仅包含两个文件,它们是:

manifest.json

getting-started

index.js

{
  "engines": {
    "arangodb": "^3.0.0"
  },
  "main": "index.js"
}

罐装演示服务(例如hello-fox示例)可以正常工作。我收集了更多错误信息:

导航到'use strict'; const createRouter = require('@arangodb/foxx/router'); const router = createRouter(); module.context.use(router); router.get('/hello-world', function (req, res) { res.send('Hello World!'); }) .response(['text/plain'], 'A generic greeting.') .summary('Generic greeting') .description('Prints a generic greeting.');

  

404:errorMessage“未知路径'/ getting-started'”

导航到http://192.168.1.1:8529/getting-started

  

404:errorMessage“未知路径'/ getting-started'”

控制台还显示:

http://192.168.1.1:8529/_db/_system/getting-started

本教程没有指出另一个名为WARNING File not found "/getting-started": file "" does not exist in "/var/lib/arangodb3-apps/_db/_system/getting-started/APP/files". 的文件或两个指定文件的其他位置。我想念什么?

1 个答案:

答案 0 :(得分:0)

此问题已根据@ camba1的有用评论得到解决。 Arango没问题,我理解本教程只是一个问题。对于我所处位置的其他人来说,这是我没有正确理解的事情,这些事情在解决后可以解决我的问题。

  1. “ API”选项卡与本教程相反,即使服务正常运行,也会出现错误“无法加载API定义”。忽略该错误信息。我还没有使用API​​标签。

  2. 本教程涉及两个路径,“ / hello-world”和“ / getting-started”。这些用于端点(URI)和创建路由器,如下所示:

    router.get('/hello-world', function (req, res) { ...

到目前为止,本教程还不够清晰,但是正如@ camba1指出的那样,服务端点最终将合并这两个元素:

192.168.1.1:8529/_db/_system/getting-started/hello-world .
  1. 在我看来,创建没有路径的路由器时,这个非常基本的演示会变得更加容易和更好:

    router.get(function (req, res) {

在这种情况下,其默认路径为'/'。我认为这可以避免让像我这样的初学者感到困惑。然后,服务端点将变得更简单。就我而言,端点(Arango在局域网上的另一台计算机上运行)变为:

192.168.1.1:8529/_db/_system/getting-started

如果本教程增加了一些额外的句子来说明端点的构造方式,或者按照我上面的建议做了,并且一步一步简化了事情,则本教程将得到改进。