Oi, tentei criar um projeto jax-rs do zero e não consegui.
No eclipse selecionei Dynamic Web Project (marqueisim para o web.xml) no projeto importei os jars gson-2.2.4.jar javax.annotation-api-1.2.jar javax.inject-2.2.0-b21.jar javax.ws.rs-api-2.0.jar xmlpull-1.1.3.1.jar xstream-1.4.6.jar *** não importei os outros pois quero usar o Tomcat no eclipse
minha classe resource é
import java.net.URI;
import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response;
import br.com.mercadinho.dao.DaoFalso; import br.com.mercadinho.modelo.Produto;
@Path("produto") public class ProdutoResource {
@Path("{id}")
@GET
public Produto busca(@PathParam("id") int id) {
Produto produto = new DaoFalso().busca(id);
return produto;
}
@Path("json/{id}")
@GET
public String buscaJson(@PathParam("id") int id) {
Produto produto = new DaoFalso().busca(id);
return produto.toJson();
}
@POST
@Consumes(MediaType.APPLICATION_XML)
public Response insere(Produto produto) {
new DaoFalso().insere(produto);
URI uri = URI.create("/produto/" + produto.getId());
return Response.created(uri).build();
}
@Path("{id}")
@DELETE
public Response remove(@PathParam("id") int id) {
boolean resposta = new DaoFalso().remove(id);
if(resposta) return Response.ok().build();
else return Response.notModified().build();
}
@Path("{id}/nome/{nome}")
@PUT
public Response modifica(@PathParam("id") int id, @PathParam("nome") String nome) {
boolean resposta = new DaoFalso().modifica(id, nome);
if(resposta) return Response.ok().build();
else return Response.notModified().build();
}
@Path("{id}/valor/{valor}")
@PUT
public Response modifica(@PathParam("id") int id, @PathParam("valor") double valor) {
boolean resposta = new DaoFalso().modifica(id, valor);
if(resposta) return Response.ok().build();
else return Response.notModified().build();
}
}
subo o servidor pelo eclipse, mas quando acesso a url no chrome
http://localhost:8080/mercadinho/produto/1 dá erro
*** mercadinho é o nome do meu projeto
outra coisa meu web.xml está assim
mercadinho index.html index.htm index.jsp default.html default.htm default.jspnão mexi nele...
O que está faltando???