Passo 1: Preparação - Dependências e Chave da API
XML
<dependencies>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.17.1</version> </dependency>
</dependencies>
usando Gradle, adicione ao seu build.gradle:
Gradle
dependencies {
    implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.1' // Use a versão mais recente
}
"[SUA_API_KEY]"
Passo 2: Criar a Classe TituloOmdb (DTO para o JSON da API)
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@JsonIgnoreProperties(ignoreUnknown = true) // Ignora campos JSON que não estão nesta classe
public class TituloOmdb {
    @JsonAlias("Title")
    private String titulo;
    @JsonAlias("Year")
    private String anoDeLancamento;
    @JsonAlias("Runtime")
    private String tempoDeDuracao;
    @JsonAlias("Plot")
    private String sinopse;
    @JsonAlias("Response") // Campo que indica se a busca foi bem-sucedida ("True"/"False")
    private String resposta;
    @JsonAlias("Error") // Campo de erro se a busca não for bem-sucedida
    private String erro;
    // Construtor padrão (necessário para Jackson deserializar)
    public TituloOmdb() {
    }
    // --- Getters ---
    public String getTitulo() {
        return titulo;
    }
    public String getAnoDeLancamento() {
        return anoDeLancamento;
    }
    public String getTempoDeDuracao() {
        return tempoDeDuracao;
    }
    public String getSinopse() {
        return sinopse;
    }
    public String getResposta() {
        return resposta;
    }
    public String getErro() {
        return erro;
    }
    // --- Setters (Jackson usa setters para preencher os campos) ---
    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }
    public void setAnoDeLancamento(String anoDeLancamento) {
        this.anoDeLancamento = anoDeLancamento;
    }
    public void setTempoDeDuracao(String tempoDeDuracao) {
        this.tempoDeDuracao = tempoDeDuracao;
    }
    public void setSinopse(String sinopse) {
        this.sinopse = sinopse;
    }
    public void setResposta(String resposta) {
        this.resposta = resposta;
    }
    public void setErro(String erro) {
        this.erro = erro;
    }
    @Override
    public String toString() {
        return "Título: '" + titulo + '\'' +
               ", Ano: " + anoDeLancamento +
               ", Duração: " + tempoDeDuracao +
               "\nSinopse: " + sinopse;
    }
}