Olá pessoal,
Preciso implementar o REST no GWT mas não sei como. Pesquisei sobre algumas coisas e achei uns frameworks. Tem como fazer isso sem usar framework? E como fazer? Alguém me passa um exemplo?
Grato. 
Olá pessoal,
Preciso implementar o REST no GWT mas não sei como. Pesquisei sobre algumas coisas e achei uns frameworks. Tem como fazer isso sem usar framework? E como fazer? Alguém me passa um exemplo?
Grato. 
Pilantra, na java magazine 56 tem um artigo muito bacana que ensina a trabalhar com REST.
abraços.
Não tenho conhecimento profundo sobre GWT. Mas como sei que é um framework que converte código Java para código Javascript, provavelmente o GWT sabe apenas consumir serviços REST.
Agora, pra produzir serviço REST, você pode simplesmente usar Servlet, só que é um saco! Recomendo você dar uma olhada no framework Jersey.
Mas não tem como fazer isso sem um framework? Porque o GWT é meio chatinho, ele pode não aceitar.
Só uma coisa, o REST roda no server ou no client?
Up!
Não sei se é viável para você, porém na quinta feira haverá um mini-curso gratuito a respeito de REST na Globalcode:
http://www.globalcode.com.br/index.jsp?pagina=Boletim200836
E respondendo a sua pergunta, REST é um Web Service, logo você precisa de uma implementação tanto no lado do servidor quanto no lado do cliente. Se você já tiver o serviço implementado no servidor, para consumir você consegue até com javascript puro sem precisar do GWT
Hum entendi!! Caramba, se eu morasse em São Paulo, com certeza que iria. Não tem nenhum artigo sobre isso na net? Preciso de algo rápido pra implementar isso o quanto antes 
Você já tem o serviço em REST implementado?
Ou tem de impleemntar o serviço e o cliente?
Sugiro:
http://www.jboss.org/resteasy/
Na verdade eu tenho que implementar só o cliente. Mas conhecimento nunca é d+ né? hehee, dae eu já quero aprender a fazer no servidor também!!! Bom, eu vou dar uma olhada nesses frameworks!
Valeu!!
Tenho usado o Restlet (www.restlet.org), dê uma olhada depois.
Abraços,
Tenho usado o Restlet (www.restlet.org), dê uma olhada depois.Abraços,
Apenas repassando entao…
http://wiki.restlet.org/docs_1.1/13-restlet/28-restlet/144-restlet.html
Fala Pilantra, essa sua pergunta uma verdadeira pilantragem.
Cara tem sim como fazer sem framework, to em aula aqui no labd afacul, mas é o seguinte o REST um WEB SERVICE com base em XML Flat.
Ou seja é muito simples de fazer, você irá necessitar de um servlet para o servidor e se no cliente não quiser usar java pode usar somente javascript com funções AJAX e se quiser melhorar ainda mais pode usar JSON.
Cara não sei se vou ter temopo mas eu escrevo um exemplo que eu tenho aqui em um livro de AJAX.
Abraços e descupe a brincadeira.
REST não tem “base em XML Flat” (e eu nem sei o que esse XML Flat é), ele pode entregar recursos em qualquer formato, sob qualquer protocolo.
A melhor referência sobre REST que eu conheço é essa aqui -> http://oreilly.com/catalog/9780596529260/
REST não tem “base em XML Flat” (e eu nem sei o que esse XML Flat é), ele pode entregar recursos em qualquer formato, sob qualquer protocolo.A melhor referência sobre REST que eu conheço é essa aqui -> http://oreilly.com/catalog/9780596529260/
ISso mesmo. Inclusive o exemplo que postei integra com xml e json.
Pessoal,
to apanhando aqui do Rest…
eu tenho que implementar um serviço que dado um CPF deve-se retornar uma lista de clientes…
pois bem, comecei a tentar instalar o jersey. Uso o Maven e o Jetty …
daí coloquei as dependencias no pom.xml da seguinte maneira:
Core Server
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.0</version>
</dependency>
Core Client
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.0</version>
</dependency>
Core Spring
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-spring</artifactId>
<version>1.0</version>
</dependency>
beleza… o maven instalou esses jars pra mim…
meu 2° passo foi criar uma classe bem simples:
package com.sun.ws.rest.samples.helloworld.resources;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
import javax.ws.rs.Path;
// The Java class will be hosted at the URI path "/helloworld"
@Path("/helloworld")
public class HelloWorldResource {
// The Java method will process HTTP GET requests
@GET
// The Java method will produce content identified by the MIME Media
// type "text/plain"
@Produces("text/plain")
public String getClichedMessage() {
// Return some cliched textual content
return "Hello World";
}
}
A grande verdade sobre minha duvida é no web.xml
to usando o jetty e coloquei um servelet da sequinte maneira:
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>org.foo.rest;org.bar.rest</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
inicio a app e coloco no browser:
http://localhost:8080/hb/service/helloworld
mas o que eu recebo é um erro :
HTTP ERROR: 500
The ResourceConfig instance does not contain any root resource classes.
RequestURI=/hb/service/helloworld
Caused by:
com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes.
at com.sun.jersey.impl.application.WebApplicationImpl.processRootResources(WebApplicationImpl.java:774)
at com.sun.jersey.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:671)
at com.sun.jersey.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:487)
at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:622)
at com.sun.jersey.spi.container.servlet.ServletContainer.load(ServletContainer.java:538)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:197)
at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:433)
at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:342)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:463)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
Alguem pode me ajudar : :shock:
obrigado!!!