O documento discute a integração REST em aplicações Grails, apresentando métodos HTTP comuns, mapeamento de URLs, criação de controllers e serviços RESTful. É demonstrado um exemplo de plugin para encurtar URLs e instruções para empacotar e usar plugins em outros projetos Grails.
8. Um exemplo de Serviço
• Instalar e executar o plugin no projeto de
vocês
grails install-plugin create-domain-uml
grails create-domain-uml
9. Criar Controller Rest
def show = {
Livro livro = Livro.get(params.id)
if (livro) {
render livro as XML
} else {
SendNotFoundResponse()
}
}
def list = {
def livros = Livro.list()
if (livros) {
render livros as XML
} else {
SendNotFoundResponse()
}
}
10. Criar Controller Rest
private def SendNotFoundResponse() {
response.status = 404
render contentType: "application/xml", {
errors {
message("Produto not found with id: " +
params.id)
}
}
}
19. Empacotando o plugin
>> grails package-plugin
Agora é só plugar ele em uma aplicação
utilizando o comando:
>> grails install-plugin grails-shortenurl-0.1.zip
20. Usando o plugin
package exemploufpe
class ShortenurlController {
def shortenUrlService
def index = {
render "This is a test for the ShortenUrl plug-in
" + "Type
/ExemploUFPE/shorturl?url=http://grails.org to try
it out."
}
def shorturl = {
render shortenUrlService.tinyurl(params.url)
}
}