我正在将GAE应用程序迁移到模块,并且根据Google终端点对我的api
模块的路由存在问题。
基本上,我的所有API查询都会路由到默认模块,而其他路由也可以正常运行
我的文件夹结构是
- /gae
-- dispatch.yaml
-- www/
---- www.yaml
---- [www module files]
-- foo/
---- foo.yaml
---- [foo module files]
-- api/api.yaml
---- api.yaml
---- [foo module files]
dispatch.yaml
application: testapp
dispatch:
- url: "testapp.appspot.com/"
module: default
- url: "*/_ah/spi/*"
module: api
- url: "*/_ah/api/*"
module: api
- url: "*/foo/*"
module: foomodule
我用
进行部署cd gae
appcfg.py update www/www.yaml upload/upload.yaml api/api.yaml
appcfg.py update_dispatch .
我可以看到正在部署3个实例(每个模块一个)。
但是:
/foo/xxx ones
由foomodule处理/_ah/spi/xxx
)将转到带有404的默认模块。/_ah/spi/BackendService.logMessages
实例的日志中看到{OK 1}的200 OK。从日志中我也看到了:
api
alpha-dot-api-dot-testapp.appspot.com
模块的404来自api
有什么我做错了吗? Google Endpoints在用作模块时需要哪些特殊路由?
答案 0 :(得分:1)
正如我看到API是默认模块,在docs中说“必须首先上传默认模块”,您还需要将参数“module:default”放在yaml文件中或根本不包含 尝试
appcfg.py update api/api.yaml www/www.yaml upload/upload.yaml #api first
appcfg.py update_dispatch