Pix*_*ant 11 java google-app-engine google-cloud-endpoints
我们有一个AppEngine应用程序,我们希望与Google端点一起使用.我们需要支持Web客户端以及移动客户端,这使得Endpoints对我们很有吸引力,因为我们可以轻松生成Android和iOS客户端API.
问题是云端点当前不支持自定义域,因此我们的Web客户端无法直接与端点通信(移动客户端没有此问题).
这是我们已经尝试过的:
CORS请求从客户端到appspot.com域.这个问题是因为我们的请求不符合简单CORS(自定义标头,cookie等)的要求,每次请求都必须发送预检请求,这会减慢一切
客户端向我们的自定义域发出请求,而自定义域又向appspot端点发出请求.同样,额外的请求对性能不利
我们还尝试为Web客户端设置一个重复的Jersey REST API.我们对所有方法进行双重注释(一次针对Cloud Endpoints,一次针对Jersey),Web客户端访问Jersey API,移动客户端访问Endpoints API.这很好用,除了Jersey和Endpoints使用不同的例外.因此,如果我们想抛出一个404端点异常,那将会破坏Jersey响应,反之亦然.
还有其他选择吗?我们希望使用端点的强大功能来生成移动客户端,但也可以绕过Web客户端的自定义域限制.
Google Cloud Endpoints 2.0 现在支持自定义域。如果您使用的是 Google Cloud Endpoints 1.0,则可以通过执行以下操作进行迁移:
更新您的依赖项以使用新工件。在 Maven 中,这看起来像下面这样:
com.google.endpoints 端点框架 2.0.0-beta.8
删除旧依赖项,即 appengine-endpoints 工件。
更新项目 web.xml 文件中的 API 入口点:
看:
https://cloud.google.com/appengine/docs/java/endpoints/migration
https://code.google.com/p/googleappengine/issues/detail?id=9384
| 归档时间: |
|
| 查看次数: |
1285 次 |
| 最近记录: |