我有一个 RESTful API,例如 /do/some/<action:.*>
所以我的应用程序 get <action>
并运行它。
我的问题是,如果我使用RedirectRoute
和strict_slash=True
,我的应用程序会继续获得<action>
吗?作为参数还是会开始得到 <action>/
(注意最后的/
)?
编辑:我正在使用 webapp2
最佳答案
RedirectRoute 将发出 HTTP 重定向,告诉浏览器转到新 URL,然后浏览器将在该 URL 发出新请求。
其实现方式是创建两条路由 - 您的原始路由,一条用于重定向。
因此,就您而言,一 strip 有 /do/some/<action:.*>/
的路线将创建重定向到 /do/some/<action.*>
.
但是,我认为您的路线实际上会首先被检查(不是肯定的,抱歉),所以它总是会触发。如果可以的话,我会将其修改为不匹配斜杠。幸运的是,如果您省略正则表达式,这就是默认行为,因此只需 /do/some/<action:>
应该可以!
关于python - Google App Engine 中的 RedirectRoute 和 url 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19499079/