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)
如果你想要一个命名参数。
我正在尝试编写一个具有 "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)
如果你想要一个命名参数。