GAE Python WebApp2 url/resource/:id/resource

GAE Python WebApp2 url/resource/:id/resource

我正在尝试编写一个具有 "boat" 资源的 API,并且我想在 url 的基础上构建一个 ID 和另一个资源。

localhost:8080/boat/absk12712480/arrival

我原来有:

app = webapp2.WSGIApplication([
    ...
    ('/boat/(.*)/arrival', ArrivalHandler),
    ...
    ], debug=True)

但这一直在抓取“/arrival”作为 ID 的一部分。所以我尝试了:

('/boat/(.*?(?=\/)/arrival', ArrivalHandler)
('/boat/(.*?(?=\/arrival)/arrival', ArrivalHandler)

我正在尝试做的事情是否可行?如果可行,怎么做?

('/boat/(.*)/arrival', ArrivalHandler) 中,正则表达式过于贪婪,与 webapp2 URI format 不匹配。如果 ID 始终只是小写的 ascii 和数字,您可以使用:

('/boat/<:[a-z0-9]+>/arrival', ArrivalHandler)

应该可以,或者

('/boat/<id:[a-z0-9]+>/arrival', ArrivalHandler)

如果你想要一个命名参数。