谷歌云端点 - 方法不存在 - 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-ID
和YOUR-CONFIG-ID
用正确的)
我使用gcloud app deploy
部署的应用谷歌应用程序引擎。我可以通过Google App Engine控制台看到应用程序正常运行。
然而,/
上的GET方法未被识别为有效端点,并且我得到如上所述的响应。
我错过了什么吗?我搜索了很多关于这个问题,但整个有用的东西/同类没来!
PS:通过添加,我的意思是,这是我已经添加到相应的GitHub cloned files
编辑代码: 我从改变了API端点/
到/hello
并能正常工作!无法理解为什么/
上的相同功能在Google Cloud Endpoints上无效(本地工作!)
Google Cloud Endpoints当前不支持“/”处的根路径。这是正在研究的内容。
关于此问题的任何文档/官方文字? –
我正在尝试为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