Bom dia pessoal!
Estou desenvolvendo um projeto no Eclipse Jee Oxigen que tem um serviço RESTfull, na estrutura criei uma package nome:service e dentro dele uma classe nome:FabricanteService que ficou assim: https://snag.gy/VnTWGA.jpg, na package Util criei uma classe ResourceConfig que ficou assim: https://snag.gy/CpxsAb.jpg, o meu pom.xml eu configurei assim:https://snag.gy/lThXzs.jpg, mas esta retornando este erro no navegador:https://snag.gy/JyGSqd.jpg.
Eu sou novo no RESTfull fusei no forum e não encontri nada parecido com a minha dúvida!, alguém poderia me ajudar a entender o porque deste erro???, eu não sei se teria que configurar mais alguma coisa no web.xml ou se falta algo no meu pom.xml.
Desde já agradeço!
Posta os códigos aqui em texto, não imagens.
Vou tentar sou novo aqui…
/FabricanteService/
package br.com.jjpsistemas.drogarias.service;
import java.util.List;
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 com.google.gson.Gson;
import br.com.jjpsistemas.drogarias.dao.FabricanteDAO;
import br.com.jjpsistemas.drogarias.domain.Fabricante;
@Path(“fabricante”)
public class FabricanteService {
// http://127.0.0.1:8080/Drogarias/rest/fabricante
@GET
public String listar() {
FabricanteDAO fabricanteDAO = new FabricanteDAO();
List fabricantes = fabricanteDAO.listar(“descricao”);
Gson gson = new Gson();
String json = gson.toJson(fabricantes);
return json;
}
// http://127.0.0.1:8080/Drogarias/rest/fabricante/{codigo}
// http://127.0.0.1:8080/Drogarias/rest/fabricante/10
@GET
@Path("{codigo}")
public String buscar(@PathParam("codigo") Long codigo) {
FabricanteDAO fabricanteDAO = new FabricanteDAO();
Fabricante fabricante = fabricanteDAO.buscar(codigo);
Gson gson = new Gson();
String json = gson.toJson(fabricante);
return json;
}
// http://127.0.0.1:8080/Drogarias/rest/fabricante
@POST
public String salvar(String json) {
Gson gson = new Gson();
Fabricante fabricante = gson.fromJson(json, Fabricante.class);
FabricanteDAO fabricanteDAO = new FabricanteDAO();
fabricanteDAO.merge(fabricante);
String jsonSaida = gson.toJson(fabricante);
return jsonSaida;
}
@PUT
public String editar(String json) {
Gson gson = new Gson();
Fabricante fabricante = gson.fromJson(json, Fabricante.class);
FabricanteDAO fabricanteDAO = new FabricanteDAO();
fabricanteDAO.editar(fabricante);
String jsonSaida = gson.toJson(fabricante);
return jsonSaida;
}
@DELETE
public String excluir(String json) {
Gson gson = new Gson();
Fabricante fabricante = gson.fromJson(json, Fabricante.class);
FabricanteDAO fabricanteDAO = new FabricanteDAO();
fabricante = fabricanteDAO.buscar(fabricante.getCodigo());
fabricanteDAO.excluir(fabricante);
String jsonSaida = gson.toJson(fabricante);
return jsonSaida;
}
}
/Util - ResourceConfig/
package br.com.jjpsistemas.drogarias.util;
import javax.ws.rs.ApplicationPath;
import org.glassfish.jersey.server.ResourceConfig;
//http://localhost:8080/Drogarias/rest
@ApplicationPath(“rest”)
public class DrogariasResourceConfig extends ResourceConfig {
public DrogariasResourceConfig() {
packages(“br.com.jjpsistemas.drogarias.service”);
}
}
/pom.xml/
4.0.0
br.com.jjpsistemas.drogarias
Drogarias
1.0
war
<!-- Codificação dos caracteres -->
<properties>
<project.build.sourceEcoding>UTF-8</project.build.sourceEcoding>
</properties>
<!-- Parâmetros de execução -->
<build>
<!-- Nome do projeto empacotado -->
<finalName>Drogarias</finalName>
<!-- Plugins -->
<plugins>
<!-- Compilador -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<!-- Reposotórios -->
<repositories>
<!-- Primefaces -->
<repository>
<id>prime-repo</id>
<name>PrimeFaces Maven Repository</name>
<url>http://repository.primefaces.org</url>
<layout>default</layout>
</repository>
</repositories>
<!-- Dependencias -->
<dependencies>
<!-- Hibernate -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.3.Final</version>
</dependency>
<!-- 5.2.10.Final -->
<!-- >4.3.3.Final</ -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.42</version>
</dependency>
<!--JUnit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<!-- <scope>test</scope> -->
</dependency>
<!-- JSF -->
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.faces</artifactId>
<version>2.2.12</version>
<!-- <scope>test</scope> -->
</dependency>
<!-- Primefaces -->
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>6.1</version>
</dependency>
<!-- Primefaces Themes -->
<dependency>
<groupId>org.primefaces.themes</groupId>
<artifactId>all-themes</artifactId>
<version>1.0.10</version>
</dependency>
<!-- Ominifaces -->
<dependency>
<groupId>org.omnifaces</groupId>
<artifactId>omnifaces</artifactId>
<version>1.14.1</version>
</dependency>
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.0</version>
<scope>provided</scope>
</dependency>
<!-- Jersey Container Servlet -->
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.26-b09</version>
</dependency>
<!-- GSon -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.1</version>
</dependency>
</dependencies>
erro no navegador:https://snag.gy/JyGSqd.jpg.
Esta bom assim?
Melhorou, mas faltou o erro. 
Achei que a imagem seria melhor mas lá vai:
Status HTTP 404 - Não encontrado
Descrição: O servidor de origem não encontrou uma representação atual para o recurso de destino ou não está disposto a divulgar aquele que existe
Cara normalmente esse erro é erro de configuração de Servlet.
a muito tempo atras eu tb tentei fazer uma api com jersey e tb tive esse erro, e não consegui resolver na época.(já faz um tempo, era quando eu estava tentando aprender java).
Hoje em dia eu só uso RESTeasy.
com RESTeasy nunca tive dificuldade de trabalhar. e nunca tive erros desse tipo.
Boa tarde!
Obrigado pela sua resposta!, olha não tive problemas com o Servlet até agora, foi só eu inventar de implementar uma classe como serviço com Servlet Container 2.26.b09 para testar a funcionalidade porque me foi dito que seria melhor para mim no futuro para preservar o código.
Eu não sei se é um problema de versão, tentei mudar a versão mas não resolveu. vou isolar esta classe e tratar separadamente do projeto até conseguir resolver.
Enquanto não resolvo este caso vou fusar nesses RESTeasy se tiver mais alguma recomendação que achar conveniente agradeço!
Bom, obrigado por enquanto e um grande abraço!