如何在Grails中获取请求URI?

时间:2011-12-06 21:09:45

标签: grails groovy httprequest

我有一个简单的Grails应用程序,其中包含以下RESTful 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

是否有特殊的成员或函数可以从中获取请求?

1 个答案:

答案 0 :(得分:6)

简单,您需要原始地址,与您的响应转发的地址相同,它只是存储在请求中,可以通过以下方式检索:

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



希望有所帮助 问候 Kushal