我想要一个网络和一个端点模块。
我在我的开发环境中主要在 https://github.com/GoogleCloudPlatform/appengine-modules-sample-java 之后工作.
但是,当托管在 App Engine 中时,我无法正常工作。如果我将 Web 模块设置为默认模块,则无法通过 dispatch.xml 路由到端点模块。这是因为端点(显然)需要位于/_ah/api 并且不可能将其路由到默认模块之外。
另一种选择是将端点模块作为默认模块,但是我不知道如何将除/_ah/api/之外的所有内容路由到 web 模块。看来您无法将/* 路由到默认模块之外。
编辑:注意我想让两个模块都在同一个自定义域中运行。
EDIT2:请注意这是单页应用程序。前端模块纯html、css、js,想和同域端点模块对话。
有什么办法可以解决吗?
最佳答案
如果问题仅出在路由上,您绝对可以让您的默认模块带有端点,并为您的前端提供一个模块“网站”。
那么你的调度文件应该是这样的(python 版本,Java 版本应该非常相似):
dispatch:
- url: "*/_ah/*"
module: default
- url: "*/*"
module: website
调度文件显然将路由设置为从上到下的优先级,因此每个针对端点 */_ah/* 的请求都将被路由到默认模块,其余的将转到网站模块。
但是,如果您有 CORS 问题,您可以检查 handler configuration for static files或者直接在您的页面处理程序代码中包含适当的 header 。
关于java - 应用引擎 : Having a web module and a endpoint module,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29227900/