1
resposta

Erro no meuTituloOmdb

    Boa noite turma mim tirem uma dúvida.
    
    Fiz no TituloOmdb.java
    public record TituloOmdb(String title, String year, String runtime) {
    

}

    Já no PrincipalComBusca.java
    Fiz como tava no video e deu erro .O que pode ter acontecido?
    
    Gson gson = new Gson();
    //Titulo meuTitulo = gson.fromJson(json, Titulo.class);
    TituloOmdb meuTituloOmdb = gson.fromJson(json, TituloOmdb.class);
    System.out.println(meuTituloOmdb);
1 resposta

Oii Luciano, tudo bem?

O erro que você mencionou pode estar relacionado com a forma como os nomes dos campos no JSON estão mapeados para os nomes dos campos em seu record TituloOmdb.

No seu caso, o JSON que você está tentando desserializar provavelmente tem os nomes dos campos com a primeira letra maiúscula (como "Title", "Year", "Runtime"), enquanto no seu record TituloOmdb, você definiu os campos com a primeira letra minúscula ("title", "year", "runtime"). Isso causa um descompasso na hora da desserialização, pois o Gson, por padrão, espera que os nomes dos campos no JSON correspondam exatamente aos nomes dos campos na classe Java.

Para resolver isso, você pode utilizar o GsonBuilder para configurar o Gson com uma política de nomenclatura que se ajuste ao seu caso. No seu contexto, você deve usar a política FieldNamingPolicy.UPPER_CAMEL_CASE para adequar os nomes dos campos do JSON que começam com letra maiúscula.

Um abraço e bons estudos.