我試圖安裝使用谷歌雲端點和谷歌應用程序引擎的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上無效(本地工作!)
我正在嘗試爲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