2011-12-06 6 views
5

Ho una semplice applicazione Grails con il seguente URI RESTful ...Come ottenere l'URI della richiesta in Grails?

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

La mappatura nei miei URIMappings è

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

Nel mio controller, ho bisogno di estrarre l'URI della richiesta, in questo caso "/ funds/test/700", ma invocare request.uri o request.getRequestUri non funziona. Ho provato ad utilizzare request.requestURL, ma che mi

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

dà C'è un membro speciale o una funzione da cui ottenere l'URI della richiesta?

+0

ho capito, non è intuitivo, ma qualunque cosa ... 'request.forwardURI' – raffian

+0

appena trovato questo. Totalmente non intuitivo. Grail deve fare alcuni trucchi da circo sotto il cofano. –

risposta

6

Semplice, è necessario l'indirizzo originale, identico a quello in cui verrà inoltrata la risposta, è semplicemente memorizzato nella richiesta e può essere recuperato da: .

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

.
.
Speranza che aiuta Saluti Kushal