1
resposta

Como usar o getList com json

Como podemos utilizar o getList para json ao invés de XML?

Tentei utilizar o método abaixo mas não funcionou.

@Test
    public void deveExibirListaUsuarios() {
        JsonPath path = given()
        .header("Accept", "application/json")
        .get("/usuarios?_format.json")
        .andReturn().jsonPath();

        List<Usuario> usuarios = path.getList("list", Usuario.class);
        Usuario esperado1 = new Usuario(1l, "Mauricio Aniche", "mauricio.aniche@caelum.com.br");

        assertEquals(esperado1, usuarios.get(0));
    }
1 resposta

Nesse caso funciona o xml porque a classe usuário está anotada com javax.xml.bind.annotation.XmlRootElement

Em Json você precisaria colocar

path.getList("$", Usuario.class);

Observe que a notação $ significa o elemento raiz. Também poderia ser

path.getList(".", Usuario.class);

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software