Google Cloud EndpointsとGoogle App Engineを使用してNodeJS REST APIをセットアップしようとしています。公式のサンプルプロジェクトをGitHubからクローンし、Quickstartを使用してGoogle Cloud Endpointsを設定しました。箱から出して、それが正常に動作しますが、私は/
でGETリクエストのために別のAPIエンドポイントを追加してみましたが、私は私の後に取得応答が展開し、次のように要求があります来たGoogle Cloud Endpoints - メソッドが存在しません - OpenAPI yaml specification
{
"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
ファイルに次のを追加しました:Googleクラウドを展開し、構成する端末からgcloud service-management deploy 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"
エンドポイントでは、app.yaml
に置き換えられたサービス名とサービス構成IDをQuickstartで指定された形式で取得しました
endpoints_api_service:
name: echo-api.endpoints.[YOUR-PROJECT-ID].cloud.goog
config_id: YOUR-CONFIG-ID
私はgcloud app deploy
を使用してGoogleのApp Engineにアプリケーションを展開し(それは私が正しいものでYOUR-PROJECT-ID
とYOUR-CONFIG-ID
を交換しましたが、形式です)。 Google App Engineコンソールを使用して、アプリが正しく動作していることがわかります。
しかし、/
のGETメソッドは有効なエンドポイントとして識別されておらず、前述のように応答が得られます。
何か不足していますか?私はこの問題について多くのことを探しましたが、有用/類似のものは何も見つかりませんでした!
PS:私はからAPIエンドポイントを変更し :では私が意味する、を追加し、それは私が対応するGitHub cloned files
EDITに追加したコードです。 /
〜/hello
とうまく動作します! の同じ機能がGoogle Cloud Endpointsで機能しない理由を理解できません(ローカルでも機能します)。
Node apiで同じ設定をしようとしていますが、配備後にエンドポイントにアクセスできません。私は[ここ](https://cloud.google.com/endpoints/docs/openapi/get-started-app-engine)に記載されているすべてのセットに従った 私は[これは](https://github.com/GoogleCloudPlatform /nodejs-docs-samples/blob/master/endpoints/getting-started/openapi-appengine.yaml)スタートガイドを参照してください。ただし、それでも実行できません。私は私のサービスが作成されているのを見ることができますが、私はそれを使用しようとしません – farhankhwaja