URL com parametros Key/Value
17/11/2011 19:01
1
Gostaria de saber se consigo implementar modRewrite no grails.

Parametros na url do tipo key/value.

Ex.: localhost:8080/application/[controller]/[action]/[variavel_1]/[valor_da_variavel_1]/[variavel_2]/[valor_da_variavel_2]/[variavel_n]/[valor_da_variavel_n]

Queria fazer isso sem ter que gambiarrar a urlmapping como ja vi na internet um cara usando:

"/$controller/$action?/$id?/$path1?/$path2?/$path3?/$path4?/$path5?/$path6?/$path7?/$path8?/$path9?/$path10?/$path11?/$path12?/$path13?/$path14?/$path15?/$path16?/$path17?/$path18?/$path19?/$path20?/$path21?/$path22?/$path23?/$path24?/$path25?/$path26?/$path27?/$path28?/$path29?/$path30?"

Ah sim, caso consiga implementar, como que eu pegaria os key/values no controller...

Alguma solução?
Tags: urlMapping queryString modRewrite


0
Oi João, tem sim.

No caso, você vai ter de alterar o seu arquivo grails-app/conf/UrlMappings.groovy

É bem tranquilo: você vai escrever algo como o código abaixo:


"/$controller/$action?/$id/$var1/$var2/$var3"{
constraints {
id(matches: /\d+/)
}
}


Com isto, você sempre vai ter estas variaveis preenchidas diretemante na sua URL. É muito comum executar esta tarefa quando se está implementando APIs por exemplo


0
Blza Henrique....

Agora tem algum outro jeito sem ter que fazer essa gambiarra???

Nesse caso que você me passou eu teria que tratar var1, var2 e varn como sendo variáveis mutáveis, ou seja, numa hora ela poderia ser codigo, na outra ordem, na outra fulana....

O que eu queria fazer é passar a variável e o valor na url... Isso é muito utilizado em ZendFramework...

Um exemplo mais prático seria algo: http://application:8080/livros/lista/pagina/5/ordenacao/id/orientacao/asc

No meu controller LIVROS, na action LISTA, eu conseguiria pegar as variáveis: pagina com valor 5, ordenacao com valor id e orientacao com valor asc.

Desse jeito que você me passou, pelo que eu entendi, teria que passar algo do tipo: http://application:8080/livros/lista/5/id/asc e no meu controller entender "magicamente" que o 5 é referente à pagina, o id é referente à ordenacao e o asc é referente à orientcacao.

Existe a possibilidade de fazer do jeito semelhante ao Zend?


0
Oi João,

eu vi algo similar na documentação do Grails sobre configuração de URLs. Se não me engano, é possível fazer este tipo de coisa dinâmicamente (que é o que você está querendo).

Da uma olhada neste link.



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto