我在App Engine上获得在谷歌云终端404

问题描述:

在我的应用程序,在app.yaml中(相关部分)如下:我在App Engine上获得在谷歌云终端404

handlers: 
- url: /favicon\.ico 
    static_files: favicon.ico 
    upload: favicon\.ico 

- url: /logs 
    script: logviewer.main.app 

- url: /static 
    static_dir: static 

- url: /(.*\.html) 
    static_files: pages/\1 
    upload: pages/(.*\.html) 

- url: /_ah/spi/.* 
    script: api.application 

- url: .* 
    script: main.app 

我已经包括了所有的处理程序,只是为了让当然,但我很确定app.yml不是问题。

api.py

@endpoints.api(name='quizservice',version='v01', 
       description='api backand for quickbuzzer') 
class QuizService(remote.Service): 


    @endpoints.method(messages.VoidMessage , messages.CreateQuizResponse, name="createQuiz") 
    def createQuiz(self, request): 
    . . . 

application = endpoints.api_server([QuizService], 
           restricted=False) 

的相关部分现在,当我访问的资源管理器,并尝试运行QuiizService.createQuiz方法,我得到一个404回。

望着日志,我看到:

INFO  2013-04-29 17:53:15,560 server.py:561] default: "GET /_ah/api/discovery/v1/apis/quizservice/v01/rest HTTP/1.1" 200 2738 
INFO  2013-04-29 17:53:22,118 server.py:561] default: "POST /_ah/spi/BackendService.getApiConfigs HTTP/1.1" 200 1585 
WARNING 2013-04-29 17:53:22,119 api_config_manager.py:201] No endpoint found for path: quizservice/v01 
INFO  2013-04-29 17:53:22,119 server.py:561] default: "POST /_ah/api/quizservice/v01 HTTP/1.1" 404 9 
+0

不应该是' - url:/.*'?我一直这样写。 – 2013-04-29 18:20:16

+0

我的版本可以工作,但它不应该影响我的云端点处理程序。 – bigblind 2013-04-29 18:25:37

我能够通过提供path参数的endpoints.method装饰,以解决这一问题。我现在想知道的是,如果端点API可以根据我的方法名称选择默认路径。

可能引发此错误的另一种情况是url处理程序声明的顺序不正确。 见https://*.com/a/15675839/362953

- url: .* 
    script: main.app 

都要在年底之前,不

- url: /_ah/spi/.* 
    script: api.application 

在这种情况下,OP的顺序是正确的。

+0

它也可能与端点框架有关吗?似乎我只是在升级一段时间后才开始获得这个。我的特殊用例涉及单元测试(我知道 - 这是一个集成测试)。 – 2017-12-14 21:25:51