2011-12-06 107 views
5

我有具有以下的RESTful URI一個簡單的Grails應用...如何在Grails中獲取請求URI?

http://localhost:8080/kennis-api/funds/test/700 

映射在我的URIMappings是

"/funds/test/$fcode" (controller: "fundCache"){ 
    action = [GET: "show"] 
} 

在我的控制,我需要提取請求URI,在這種情況下「/ funds/test/700」,但調用request.uri或request.getRequestUri不起作用。我試着用request.requestURL,但是這給了我

http://localhost:8080/kennis-api/grails/fundCache/show.dispatch

是否有一個特殊的成員或從中獲取請求URI功能?

+0

我得到了它,而不是直觀的,但不管......「request.forwardURI」 – raffian

+0

剛剛發現這一點。完全不直觀。 Grails必須在引擎蓋下做一些馬戲技巧。 –

回答

6

它很簡單,您需要原始地址,與您的響應將被轉發的地址相同,它只是簡單地存儲在請求中,可以通過以下方式檢索: 。

String originalURI = request.forwardURI 
//Do this where request is available, ex: Controllers :) 
// Everywhere else you can use RequestContextHolder 



希望幫助 問候 Kushal

相關問題