Consumindo WEB Services, passando objeto via @Path

2 respostas
webservice
O
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("login/{usuario}")
public UsuarioComum VerificaLogin(UsuarioComum usuario) throws SQLException {
    UsuarioComum uc = new UsuarioComum();
    UsuarioComumDAO ucdao = new UsuarioComumDAO();

    uc = usuario;
    uc = ucdao.verificaLogin(uc);
           
    return uc;
}@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("login/{usuario}")
public UsuarioComum VerificaLogin(UsuarioComum usuario) throws SQLException {
    UsuarioComum uc = new UsuarioComum();
    UsuarioComumDAO ucdao = new UsuarioComumDAO();

    uc = usuario;
    uc = ucdao.verificaLogin(uc);
           
    return uc;
}

Estou precisando passar o objeto inteiro para verificar o login, dessa forma o usuario recebe null, alguém pode me ajudar?

2 Respostas

edumatias

Opa

No método GET utilize tipos primitivos (Strings, inteiros …) os quais são passados na URI.

edumatias

Aliás, está estranho seu método.

Veja

UsuarioComum uc = new UsuarioComum();
        UsuarioComumDAO ucdao = new UsuarioComumDAO();

        uc = usuario;
        uc = ucdao.verificaLogin(uc);
           
    return uc;

Neste método você está instanciando um objeto em vão,

UsuarioComum uc = new UsuarioComum();

A não ser que você vá trabalhar com este objeto, comparando ou editando algo. Caso contrário você já pode retornar diretamente do resultado de sua busca.

Crie um método de busca passando o username como parametro.

Você deve passar por exemplo em sua URI

@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("login/{username}")
public UsuarioComum VerificaLogin(@PathParam("username") String username) throws SQLException {
    return  ucdao.verificaLogin(username); // verifica uma string
}

Pense em trabalhar este seu retorno de uma melhor forma.

Veja sobre Response como retorno para tratar possível erros e ter um status.

Response resposta = Response.ok(usuario).build();

Criado 23 de outubro de 2017
Ultima resposta 23 de out. de 2017
Respostas 2
Participantes 2