Grails parte ii - plugins & rest

1,349 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,349
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
36
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Grails parte ii - plugins & rest

  1. 1. Grails Parte IIJosino Rodrigues Neto jrn4@cin.ufpe.br
  2. 2. Integração
  3. 3. Rest, o que é isso ?
  4. 4. Métodos HTTP• GET• PUT• DELETE• HEAD• POST
  5. 5. Temos que mapear métodos HTTP para a nossas URLs do sistema
  6. 6. Uma rápida Introdução ao RESThttp://www.infoq.com/br/articles/rest-introduction
  7. 7. Um exemplo de Serviço• Instalar e executar o plugin no projeto de vocêsgrails install-plugin create-domain-umlgrails create-domain-uml
  8. 8. Criar Controller Restdef 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() }}
  9. 9. Criar Controller Restprivate def SendNotFoundResponse() { response.status = 404 render contentType: "application/xml", { errors { message("Produto not found with id: " + params.id)}}}
  10. 10. Mapear URL"/livrorest/$id?"(controller:"livrorest"){ action = [GET:"show", POST:"list"]}
  11. 11. Testando nosso trabalho
  12. 12. http://code.google.com/p/rest-client/
  13. 13. Criação de plugins
  14. 14. Criar um plugin encurtador de url>> grails create-plugin shortenurl
  15. 15. Classe Utilitária para encurtar URLpackage org.grails.shortenurlclass TinyUrl{static String shorten(String longUrl){ def addr = "http://tinyurl.com/api- create.php?url=${longUrl}" return addr.toURL().text}}
  16. 16. Criando Serviceimport org.grails.shortenurl.*class ShortenUrlService { boolean transactional = false def tinyurl(String longUrl) { return TinyUrl.shorten(longUrl) }}
  17. 17. Ok. Pronto Agora é soempacotar o plugin!!!
  18. 18. Empacotando o plugin>> grails package-pluginAgora é só plugar ele em uma aplicaçãoutilizando o comando:>> grails install-plugin grails-shortenurl-0.1.zip
  19. 19. Usando o pluginpackage exemploufpeclass ShortenurlController { def shortenUrlService def index = {render "This is a test for the ShortenUrl plug-in" + "Type/ExemploUFPE/shorturl?url=http://grails.org to tryit out." } def shorturl = { render shortenUrlService.tinyurl(params.url) }}

×