错误:(gcloud.endpoints.services.deploy)INVALID_ARGUMENT:错误:未知位置:无法转换为服务配置

fru*_* xo 5 google-cloud-endpoints google-cloud-endpoints-v2

我正在为使用 Guice 在 AppEngine Std Env JDK8 上构建的 API 生成 CloudEndpoints,并且我正在 OSX 上工作。

\n\n

按照教程 I\xe2\x80\x99ve:

\n\n
    \n
  1. 添加了我的项目。身份证到我的pom.xml
  2. \n
  3. 跑步mvn endpoints-framework:openApiDocs
  4. \n
  5. 跑步gcloud endpoints services deploy target/openapi-docs/openapi.json
  6. \n
\n\n

步骤 1 和 2 成功,而步骤 3 失败并显示以下消息:

\n\n

ERROR: (gcloud.endpoints.services.deploy) INVALID_ARGUMENT: ERROR: unknown location: Cannot convert to service config.

\n\n

我的 API 没有使用issuers属性,例如:

\n\n
issuers = {\n                @ApiIssuer(\n                        name = "firebase",\n                        issuer = "https://securetoken.google.com/<PRJ-ID>",\n                        jwksUri = "https://www.googleapis.com/robot/v1/metadata/x509/securetoken@system.gserviceaccount.com")\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

所以我尝试将其添加到每个API中,但仍然遇到相同的错误。

\n\n

需要并感谢帮助:)。

\n

小智 2

这个错误意味着 openapi 配置文件有问题。首先,尝试验证它是否是有效的 YAML。如果是,请尝试使用 Swagger/OpenAPI 工具验证配置。

  • 我使用官方的 swagger 编辑器[此处](https://editor.swagger.io/) (2认同)