Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como criar um projeto jax-rs do zero

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.jsp

não mexi nele...

O que está faltando???

2 respostas

Boa noite, Ricardo! Como vai?

Quando vc acessa a url que vc citou, qual o erro que acontece? Vc poderia colar o log completo aqui para eu dar uma olhada?

Aguardo seu retorno para podermos chegar à luz do conhecimento juntos!

Grande abraço e bons estudos, meu aluno!

solução!

Achei o erros, coloquei todos os jar, na pasta lib, tava faltando alguns