1

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-IDYOUR-CONFIG-IDを交換しましたが、形式です)。 Google App Engineコンソールを使用して、アプリが正しく動作していることがわかります。

しかし、/のGETメソッドは有効なエンドポイントとして識別されておらず、前述のように応答が得られます。

何か不足していますか?私はこの問題について多くのことを探しましたが、有用/類似のものは何も見つかりませんでした!

PS:私はからAPIエンドポイントを変更し :では私が意味する、を追加し、それは私が対応するGitHub cloned files



EDITに追加したコードです。 //helloとうまく動作します! の同じ機能がGoogle Cloud Endpointsで機能しない理由を理解できません(ローカルでも機能します)。

+0

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

答えて

2

Google Cloud Endpointsは現在、「/」のルートパスをサポートしていません。これは見ているものです。

+3

これに関するすべてのドキュメント/正式な言葉? –

関連する問題