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 앱에 새 끝점을 올바르게 구성했습니다 (로컬로 잘 작동 함). 내가 을 추가 한 해당 코드는 다음과 같습니다 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.get('/', function (req, res) { 
    res.status(200).json({ message: 'Hello, world!' }); 
}); 

내가 가 내 openapi.yaml 파일에 다음를 추가했습니다 엔드 포인트에서 서비스 이름과 서비스 구성 ID를 얻었습니다. app.yaml에서 퀵 스타트에 지정된 형식으로 대체했습니다.

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 엔드 포인트를 변경 : , I의 의미에 추가하여, 내가 EDIT



대응 GitHub cloned files

추가 한 코드는 / ~ /hello 그리고 잘 작동합니다! 의 동일한 기능이 Google Cloud Endpoints에서 작동하지 않는 이유를 이해할 수 없습니다 (로컬에서는 작동 함)

+0

노드 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

관련 문서/공식 단어는 무엇입니까? –