JAVA REST - HTTP Status 405 - Method Not Allowed
Boa tarde galera,
Estou implementando um serviço REST em Java, porém no método POST está apresentando a seguinte mensagem ao fazer a requisição via PostMan:
"HTTP Status 405 - Method Not Allowed".
No PostMan configurei o "Body" para "raw" com o tipo "JSON" e inseri o Json abaixo:
Segue minha classe UserService:
Segue a classe UserDAO:
O que pode estar causando esse comportamento?
Estou implementando um serviço REST em Java, porém no método POST está apresentando a seguinte mensagem ao fazer a requisição via PostMan:
"HTTP Status 405 - Method Not Allowed".
No PostMan configurei o "Body" para "raw" com o tipo "JSON" e inseri o Json abaixo:
{
"password":"456",
"userName":"julia.andrade"
}
Segue minha classe UserService:
package rest;
import java.util.List;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import dao.UserDAO;
import model.User;
@Path("/user")
public class UserService {
private static final String CHARSET_UTF8 = ";charset=utf-8";
@POST
@Path("/add")
@Consumes(MediaType.APPLICATION_JSON + CHARSET_UTF8)
@Produces(MediaType.TEXT_PLAIN)
public String addUser(User user){
String result;
try{
UserDAO.getInstance().addUser(user);
result = "OK";
}catch(Exception e){
e.printStackTrace();
result = "ERROR";
}
return result;
}
}
Segue a classe UserDAO:
package dao;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import model.*;
public class UserDAO {
private static UserDAO instance;
private SessionFactory sessionFactory;
public static UserDAO getInstance(){
if (instance == null){
instance = new UserDAO();
}
return instance;
}
private UserDAO() {
sessionFactory = getEntityManager();
}
private SessionFactory getEntityManager() {
return new Configuration().configure().buildSessionFactory();
}
public void addUser(final User user) {
Session session = sessionFactory.openSession();;
session.beginTransaction();
session.persist(user);
session.getTransaction().commit();
session.close();
}
}
O que pode estar causando esse comportamento?
Alex Andrade
Curtidas 0
Respostas
Marcio Souza
17/12/2016
No Postman você selecionou o envio dos dados como POST?
GOSTEI 0
Alex Andrade
17/12/2016
Sim, está como POST. PUT também está com o mesmo problema. GET e DELETE estão OK.
Estou utilizando o GlassFish, será que existe alguma configuração no servidor para informar os métodos HTTP autorizados?
Já verifiquei em vários fóruns mas até agora não encontrei a solução.
Estou utilizando o GlassFish, será que existe alguma configuração no servidor para informar os métodos HTTP autorizados?
Já verifiquei em vários fóruns mas até agora não encontrei a solução.
GOSTEI 0
Marcio Souza
17/12/2016
Não tem nada haver com o GlassFish, o problema deve ser outro. Faça uma consulta pelo GET e pegue o JSON retornado e tente fazer um update (PUT) com ele, veja se funciona.
GOSTEI 0