【问题标题】:I'm getting a 404 in google cloud endpoints on app engine我在应用引擎上的谷歌云端点中获得 404
【发布时间】:2013-04-23 12:16:32
【问题描述】:

在我的应用中,app.yaml(相关部分)如下所示:

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

【问题讨论】:

  • 不应该是- url: /.*吗?我一直都是这样写的。
  • 我的版本可以工作,但它不应该影响我的云端点处理程序。

标签: python google-app-engine http-status-code-404 google-cloud-endpoints


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    - url: .*
      script: main.app
    

    应该在最后,而不是之前

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

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

    【讨论】:

    • 它是否也与端点框架有关?似乎我只是在升级一段时间后才开始得到这个。我的特定用例涉及单元测试(我知道 - 这是一个集成测试)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-28
    • 2014-10-30
    相关资源
    最近更新 更多