Oi, eu acabei colocando este tópico dentro do offtopic e não para a discussão dentro da aula, então repeti a mesma questão aqui já que não consegui alterar o topico da primeira vez que abri!... a dúvida: Estou seguindo o curso Serviços Web Rest e Addressability e criei um projeto de teste no tomcat so que ao colocar a anotação @Path("/xxx"), o @Get e o @Produces simplesmente não chego no recurso me retornando sempre 404!.. Na classe de exemplo deixei até a versão antiga comentada que estava usando @WebServlet e que funciona.. mas com esta anotação Path não vai.. oque estou fazendo de errado ?
OBS: Nem em debug eu sequer chego no método, ou seja é como se o Path não funcionasse.. quando mudo para @WebServlet e adapto a classe para receber o evento no metodo service do servlet ai chego mas com @Path não!...
package projetomiolos.services;
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import com.thoughtworks.xstream.XStream;
import projetomiolos.dao.CategoriaDAO;
import projetomiolos.modelo.Categoria;
/**
* Servlet implementation class AssuntoService
*/
@Path("/teste")
public class AssuntoService{
//public class AssuntoService extends HttpServlet {
private static final long serialVersionUID = 1L;
@GET
@Produces(MediaType.APPLICATION_XML)
public String buscar() {
List<Categoria> listaCategorias = new CategoriaDAO().getListaCategorias();
return new XStream().toXML(listaCategorias);
}
// @Override
// protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//
// List<Assunto> assuntos = new DocumentosDAO().getAssuntos();
//
// String acao = req.getParameter("formato");
// String saida = "";
// try {
// switch (acao) {
// case "JSON":
// Gson gson = new Gson();
// saida = gson.toJson(assuntos);
// resp.setContentType("application/json");
// break;
// case "XML":
// XStream xstream = new XStream();
// xstream.alias("assunto", Assunto.class);
// saida = xstream.toXML(assuntos);
// resp.setContentType("application/xml");
// break;
// default:
// throw new ServletException("formato especificado errado: use " + req.getRequestURI() + "?formato=JSON ou ?formato=XML");
//
// }
// }catch(Exception e) {
// throw new ServletException("erro ao executar o serviço " + e.getMessage());
// }
// resp.getWriter().print(saida);
// }
}