2013-10-21 41 views
1

我有一個RESTful API像/do/some/<action:.*>所以我的應用程序得到<action>並運行它。RedirectRoute在谷歌應用引擎和網址參數

我的問題是,如果我使用RedirectRoutestrict_slash=True,將我的應用程序不斷得到<action>作爲參數,還是會開始得到<action>/(注意/末)?

編輯:我使用webapp2的

回答

1

一個RedirectRoute會發出HTTP重定向告訴瀏覽器轉到新的URL,那麼瀏覽器將在那個URL的新請求。

這是如何實現的兩個路由創建 - 您的原始路線,一個用於重定向。

因此,在你的情況下,將創建一個/do/some/<action:.*>/的路線,重定向到/do/some/<action.*>

但是,我認爲你的路線實際上會首先被檢查(不是正面的,對不起),所以它總是會引發火災。如果沒關係,我會將其修改爲不匹配斜槓。幸運的是,如果你省略了正則表達式,這是默認行爲,所以只需/do/some/<action:>應該工作!

+0

嗨!感謝您的回覆,但我正在重申在我的處理程序中''''''的價值。例如:'''wget www.myhost.com/do/some/say_hello'''''''''''''''''''''''是''''say_hello'''。請問'''wget www.myhost.com/do/some/say_hello /'''''''''的值是否也是''say_hello'''?或者它會成爲'''say_hello /'''? – alexandernst

+0

我明白。我認爲你的處理程序不會和'strict_slash'行爲一起工作,所以它實際上會得到'say_hello /'。如果您將處理程序更改爲「」(其中禁止了該操作),它應始終爲'say_hello' – Murph