Boa Tarde,
Tive um problema na hora de desserializar o objeto json retornado, usando: ".getObject('produto', Produto.class)",
Supondo que o retorno está vindo como:
{"nome":"Uva", "descricao":"Fruta" "imagem" :"Imagem1"}
Método de teste feito:
@Test
public void gravaNoDataBase() {
String URL2 = "/api/produtos/cadastro";
Produto produto = new Produto("Uva", "Fruta", "Imagem1");
Jsonpath =
given()
.header("Accept", "application/json")
.contentType("application/json")
.body(produto)
.expect()
.statusCode(200)
.post(URL2)
.andReturn().jsonPath();
Produto resposta = path.getObject("", Produto.class); // Esse Object possui os mesmo atributos do JSON retornado
System.out.println(resposta.nome); // Imprime "Uva"
Mas também vi que na vídeo aula, o objeto retornado vem com o nome da classe ex:
{produto: {"nome":"Uva", "descricao":"Fruta" "imagem":"Imagem1"}}
E assim faria sentido usar no ".getObject('produto', Produto.class)",
O que é preciso para ficar dessa forma?