Problema com @Get do Vraptor

4 respostas
java
sinkz

Galera to com um problema bem estranho e bem chato, tenho alguns métodos com a anotação @Get em minha API REST porém algumas vezes logo após reiniciar o servidor tento chamar o método através do da Url e o JSON vem em branco. O problema é que tem hora que funciona perfeitamente, mesmo sem alterar nada. Alguém já passou por algo parecido ou pode ter ideia do que esteja acontecendo? Esse é um dos métodos:

@Inject
private Result result;
@Inject
private UsuarioDAO usuarioDAO;


    @Get
    @Path("/usuarios")
    public void listarTodos() {
        try {
            List<Usuario>lista = usuarioDAO.listarUsuarios();
            System.out.println(lista);
            for (Usuario usuario : lista) {
                System.out.println(usuario.getNome());
            }
            result.use(Results.json()).withoutRoot().from("teste").serialize();
        } catch (Exception e) {
            e.printStackTrace();
        }
 
    }

Nesse método estou fazendo um teste e passando uma String pra ser serializada.

4 Respostas

igomes

Bom nos casos que vem em branco, o problema pode ser na hora que vc chama o listarUsuarios();
Coloca uns logs ai e faz o debug

sinkz

Já testei e o listarUsuarios() está retornando a lista de usuários, o mais é estranho é que tem hora que funciona e tem hora que não, tenho que ficar reiniciando o servidor até dar certo

igomes

Estranho, bom se quer uma dica, te recomendo a usar uma api própria para ws rest, como JERSEY, RESTEASY, para implementações mais tranquilas você não vai sentir tanta falta, mas se quiser algumas coisas mais complexas, as vezes nem tanto, o vraptor não te atenderá nesse sentido, até porque o foco dele não é esse, ele é um controlador em si.

sinkz

É, to querendo tentar SpringMVC enquanto isso vou estudando outra linguagem

Criado 16 de março de 2016
Ultima resposta 16 de mar. de 2016
Respostas 4
Participantes 2