谷歌云端点 - 方法不存在 - OpenAPI的YAML规范

问题描述:

我试图安装使用谷歌云端点和谷歌应用程序引擎的NodeJS REST API。我从GitHub克隆中的官样的项目并使用Quickstart组建谷歌云端点。开箱即用,它工作正常,但我尝试添加另一API端点在/ GET请求,但在我,我得到的响应部署和提出请求如下:谷歌云端点 - 方法不存在 - OpenAPI的YAML规范

{ 
"code": 5, 
"message": "Method does not exist.", 
"details": [ 
    { 
    "@type": "type.googleapis.com/google.rpc.DebugInfo", 
    "stackEntries": [], 
    "detail": "service_control" 
    } 
] 
} 

在里面传来的API预配置工作正常,但只有我添加的新工作不起作用。

我在我的应用程序的NodeJS正确配置新的端点(正常工作本地)。对应的代码,我添加是:

app.get('/', function (req, res) { 
    res.status(200).json({ message: 'Hello, world!' }); 
}); 

添加下面我openapi.yaml文件:

paths: 
    "/": 
    get: 
     description: "Returns the message \"Hello, World\"" 
     operationId: "root" 
     produces: 
     - "application/json" 
     responses: 
     200: 
      description: "Hello" 
      schema: 
      $ref: "#/definitions/helloMessage" 
definitions: 
    helloMessage: 
    properties: 
     message: 
     type: "string" 

从终端运行gcloud service-management deploy openapi.yaml后部署和配置谷歌云端点,我得到的服务名称和服务配置ID,这是我在app.yaml已经取代,由快速启动指定的格式

endpoints_api_service: 
    name: echo-api.endpoints.[YOUR-PROJECT-ID].cloud.goog 
    config_id: YOUR-CONFIG-ID 

(这是格式,我把它换成YOUR-PROJECT-IDYOUR-CONFIG-ID用正确的)

我使用gcloud app deploy部署的应用谷歌应用程序引擎。我可以通过Google App Engine控制台看到应用程序正常运行。

然而,/上的GET方法未被识别为有效端点,并且我得到如上所述的响应。

我错过了什么吗?我搜索了很多关于这个问题,但整个有用的东西/同类没来!

PS:通过添加,我的意思是,这是我已经添加到相应的GitHub cloned files



编辑代码: 我从改变了API端点//hello并能正常工作!无法理解为什么/上的相同功能在Google Cloud Endpoints上无效(本地工作!)

+0

我正在尝试为Node api设置相同的值,但部署完成后我无法访问端点。我跟着[这里]提到的所有集合(https://cloud.google.com/endpoints/docs/openapi/get-started-app-engine) 我跟着[THIS](https://github.com/GoogleCloudPlatform /nodejs-docs-samples/blob/master/endpoints/getting-started/openapi-appengine.yaml)开始使用指南,但仍无法做到。我可以看到我的服务正在创建,但是当我尝试使用它时不起作用 – farhankhwaja

Google Cloud Endpoints当前不支持“/”处的根路径。这是正在研究的内容。

+3

关于此问题的任何文档/官方文字? –