1

我有一个像/do/some/<action:.*>这样的 RESTful API,我的应用程序可以获取<action>并运行它。

我的问题是,如果我使用RedirectRouteand strict_slash=True,我的应用程序会继续<action>作为参数出现还是会开始<action>/出现(注意/最后的)?

编辑:我正在使用 webapp2

4

1 回答 1

1

RedirectRoute 将发出 HTTP 重定向,告诉浏览器转到新 URL,然后浏览器将在该 URL 发出新请求。

这是如何实现的,即创建了两条路线——您的原始路线,一条用于重定向。

因此,在您的情况下,/do/some/<action:.*>/将创建一个重定向到/do/some/<action.*>.

但是,我认为您的路线实际上会首先被检查(不是肯定的,抱歉),所以它总是会触发。如果可以的话,我会将其修改为不匹配斜杠。幸运的是,如果您省略正则表达式,这是默认行为,所以/do/some/<action:>应该可以工作!

于 2013-10-21T17:28:31.977 回答