我开始在我的 GAE 项目中使用云端点,但遇到了 api 未在服务器上更新的问题。
- localhost:8888/_ah/api/explorer 就可以了。
但当我部署时,没有任何变化。
- myapp.appspot.com:8888/_ah/api/explorer 不好
进一步调查显示 url 端点更新
例子:https://myapp.appspot.com/_ah/api/myapp/v1/foo/list https://myapp.appspot.com/_ah/api/myapp/v1/foo/list
但加载的客户端api仍然不正确。
示例:gapi.client.load('myapp', 'v1', 回调, url);
gapi.client.myapp.foo.list();
如果我将调用从 foo/list 更改为 foo/list2,则其余 url 将会更新,而 api 包不会更新。
我将尝试介绍人们可能遇到的两种情况:
客户端:
The Google API 资源管理器 https://developers.google.com/apis-explorer/Web 应用程序会积极缓存,因此当您更新 API 服务器端以查看客户端中的更改时,您需要清除缓存或强制刷新。
服务器端(在已部署的生产 App Engine 应用程序中):
如果您遇到部署问题,调试时可以查看两个地方:
-
检查您的管理日志()部署后。成功部署应用程序代码后,您应该看到以下消息:
Completed update of a new default version
不久之后您应该会看到:
Successfully updated API configuration
如果此消息表明 API 配置更新失败,您应该重新部署。如果所述错误持续存在,您应该通知我们该错误。如果您没有看到任何有关 API 配置的消息,则应检查路径是否正确/_ah/spi/.*
在您的路由配置中明确命名(app.yaml
对于Python来说,web.xml
对于 Java)。
检查您的应用程序日志()部署后。部署完成后,Google 的 API 基础架构会发出请求/_ah/spi/BackendService.getApiConfigs
在您的应用程序中,以便您的 API 配置(作为 JSON)可以注册到 Google 的 API 基础设施,并且可以创建所有与发现相关的配置。如果此请求未以 200 完成,则您的 API 更改将不会显示,因为 Google 的 API 基础设施将没有任何内容可注册。
如果您持续获得302
将请求重定向到/_ah/spi/BackendService.getApiConfigs
,这是因为您(或您生成的 API 配置)已指定使用“bns 适配器”http:
作为 API 根中的协议,但是您的web.xml
(Java)或app.yaml
(Python) 需要通过路径/_ah/spi
是安全的。这将使用以下方式发出请求http:
当协议被重定向时(使用302
) 到同一页面https:
作为协议。这是讨论过 https://groups.google.com/d/topic/endpoints-trusted-testers/2jyFxm4WEjY/discussion在进入实验之前,先访问可信测试者论坛。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)