我使用其端点部署了我的应用的实时版本(没问题)。 我也希望能够轻松地测试其他版本(例如,分期)。
使用endpointV1 :没问题。
使用endpointV2 : 如果我部署到实时版本(https://[PROJECT-ID].appspot.com,但不适用于其他版本,则一切正常。
在https://staging-dot-[PROJECT-ID].appspot.com部署到分段后,部署成功,但是当前端调用后端时,后端会收到请求(我可以在GAE日志和跟踪列表中看到它),但是没有成功或通过endpointV2并回应404 NOT FOUND:
"错误":[ { "域":"全球", "原因":" notFound", " message":" \ u003chtml \ u003e \ u003chead \ u003e \ n \ u003cmeta http-equiv = \" content-type \" content = \" text / html; charset = utf-8 \" \ u003e \ n \ u003ctitle \ u003e404 NOT_FOUND \ u003c / title \ u003e \ n \ u003c / head \ u003e \ n \ u003cbody text = #000000 bgcolor = #fffff \ u003e \ n \ u003ch1 \ u003eError:NOT_FOUND \ u003c / h1 \ u003e \ n \ u003c / body \ u003e \ u003c / html \ u003e \ n" }
我现在使用以下maven插件:
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>1.3.1</version>
<configuration>
<!-- deploy configuration -->
</configuration>
</plugin>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>endpoints-framework-maven-plugin</artifactId>
<version>1.0.0</version>
</plugin>
我已经调整了appengine.xml和Google Cloud插件中的版本。如何配置端点以使用特定模块版本而不仅仅是主版本?
答案 0 :(得分:2)
虽然不是真的答案,但我看到了:
部署传统类型端点(V1)时,一切正常,https://3-dot-xx.appspot.com/_ah/api/discovery/v1/apis将显示部署到版本3的API
在部署新类型端点(v2)时,例如2-dot-,它取决于版本上部署的最后一个V1端点。
因此,如果您已经在其上运行了V1服务,似乎有一个错误会阻止您使用稳定名称进行测试/暂存环境。如果来自Google的某人可以确认此错误并建议适当的解决方法,那么在我必须进行大量代价更改以更改网址之前,这将非常有用。
答案 1 :(得分:0)
我的简短回答是:不要重复使用以前与endpointV1一起使用的版本名称。
E.g。我有testing-dot-MYPROJECT.appspot.com
。
我现在使用的是其他版本:test-dot-MYPROJECT.appspot.com
。
对于长篇答案,请看一下cputoaster的答案。