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]

package rest;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.ProduceMime;
import javax.ws.rs.ext.Provider;

@Provider
@Path(”service”)
@ProduceMime(”text/plain”)
public class Subscritption {

@GET
public String status() {

return “JBoss REST Works!”;
}

}

[/java]

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]

@Provider
@ProduceMime(”text/plain”)
@Path(”/trip”)
public class TripService {

@GET
@Path(”/flight/today/{from}/{to}”)
public String getFlightsFromToday
(@PathParam(”from”)String from,
@PathParam(”to”)String to){
//here you can perform your search and ruturn simple plain text as the return
//but if you want, you can change to XML

return String.format
(”Performing searching from %s to %s”,
from,
to);
}
}

[/java]

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