Archive for May 7th, 2008

Falamos outro dia sobre REST aqui neste blog, estudei a implementação de referência do JAX-RS Jersey, funciona super bem, baixei os fontes, é de fato simples utilizá-la dentro do NetBeans, tive alguns problemas de classloader dentro do JBoss, mas nada que adaptar a forma de carregamento e procura dos resources do Jersey, não fizessem funcionar. Para estudos e quem sabe até algumas coisas em produção o recomendaria.

Edgar e Bill Burke numa festa do hotel W no JavaOne2007

Há um cara na JBoss que respeito muito que é o Bill Burke, e não por ele ter pagado várias Guiness para mim e outros amigos no JavaOne 2007, mas principalmente porque o cara é de fato um cara que onde ele se mete, as coisas acabam saindo do outro lado, sendo assim, mesmo com o jeitão dele meio "polemico" as vezes, lançou o projeto RestEasy, que é a implementação REST da JBoss.Pequeno Exemplo com EasyRest

O EasyRest suporta tanto os mecanimos de publicação, como os de clientes, e até mesmo os conceitos de Comet do Grizzlly, abaixo um pequeno exemplo :

JAVA:
  1. package rest;
  2.  
  3. import javax.ws.rs.GET;
  4. import javax.ws.rs.Path;
  5. import javax.ws.rs.ProduceMime;
  6. import javax.ws.rs.ext.Provider;
  7.  
  8. @Path("service")
  9. @ProduceMime("text/plain")
  10. public class Subscritption {
  11.  
  12. @GET
  13. public String status() {
  14.  
  15. return "JBoss REST Works!";
  16. }
  17.  
  18. }

Para acessar este seviço, basta digitar no browser o endereco:

http://localhost:8080/jboss-rest/service

Um outro exemplo seria por exemplo uma pesquisa de Voos para o dia de hoje para uma agencia de turismo:

JAVA:
  1. @ProduceMime("text/plain")
  2. @Path("/trip")
  3. public class TripService {
  4.  
  5. @GET
  6. @Path("/flight/today/{from}/{to}")
  7. public String getFlightsFromToday
  8. (@PathParam("from")String from,
  9. @PathParam("to")String to){
  10. //here you can perform your search and ruturn simple plain text as the return
  11. //but if you want, you can change to XML
  12.  
  13. return String.format
  14. ("Performing searching from %s to %s",
  15. from,
  16. to);
  17. }
  18. }

A url para chamar este serviço seria:

http://localhost:8080/restsample/trip/flight/today/gru/bel

Claro, este pode não ser dos melhores tutoriais, em breve algumas coisas mais interessantes por aqui.

[]s

E