Pessoal, estou acompanhando o curso e tentando fazer alguns experimentos. Estou utilizando Jersey para criar um endpoint em REST porém quando eu tento injetar a dependencia na classe REST ocorre o seguinte erro, não sei se estou usando o @Produces corretamente. o erro é: There was no object available for injection at SystemInjecteeImpl(requiredType=JogoService,parent=JogoRest,qualifiers={},position=-1,optional=false,self=false,unqualified=null,1240481235)
minha classe rest:
@Path("/jogo")
@RequestScoped
public class JogoRest {
@Inject
private JogoService jogoService;
@GET
@Produces(MediaType.APPLICATION_JSON)
public String jogo() {
return jogoService.devolveJsonJogo();
}
@POST
@Produces(MediaType.APPLICATION_JSON)
public void salva() {
}
}
minha classe service:
@Produces
public class JogoService {
private PersonalizedEntityManagerFactory factory;
private EntityManager entityManager;
@Inject
public JogoService(PersonalizedEntityManagerFactory factory) {
this.factory = factory;
entityManager = factory.getEntityManager();
}
public String devolveJsonJogo() {
Jogo jogo = new Jogo();
jogo.setDescricao("Jogo The Witcher");
jogo.setNome("The Witcher");
jogo.setPlataform(Plataforma.PLAYSTATION);
Gson gson = new Gson();
return gson.toJson(jogo);
}
}