3
respostas

Exercícios propostos

Estou bastante perdido com os exercícios que tentam trazer os métodos que foram aprendidos de forma genérica. No caso do API Gson que é preciso ter uma Json pra poder transcrever. Pra isso ocorrer é preciso ter uma informação ser carregada de algum API para ter suas atribuições que logo devem ser transformadas para as atribuições usadas no desenvolvimento da classe que estamos trabalhando. Juro que estou tendo complicações no meu processo de aprendizagem que não usa um contexto real para fazer o exercício. Fico as vezes a beira da desistência. Só eu estou tendo este tipo de situação? Será que não sou boim o suficiente para este tipo de processo?

3 respostas

Oi Fábio!

Quando estamos aprendendo algo novo, é super normal nos sentirmos um pouco perdidos no começo. Acredite, você não está sozinho nesse sentimento, isso faz parte do processo de aprendizagem.

Eu estou aqui para te ajudar, me mande o link de qual atividade você está tentando fazer que posso te explicar melhor.

Fico no aguardo e à disposição.

A dificuldade está quando pra conseguir fazer rodar algum exemplo de JSON é preciso buscar em alguma biblioteca real em algum HTTP e isso já ajudaria a relembrar as etapas CLIENT, REQUEST e RESPONSE. Só depois eu poderia estar procurando algum exemplo de JSON pra poder manipular com o GSON. Porém no exercícios genérico fico perdido para passar por estas etapas. Aliás, nem sei se consigueria passar pq não fiz nenhum exercício destes que sejam completos. Estou muito inseguro.

Tudo bem Fábio?

Eu entendo completamente você se sentir desconfortável ao tentar fazer algo que você está inseguro por não saber, mas levo comigo o pensamento "algo pode parecer difícil, mas aprenderei com isso". Então tente, não conseguiu acertar dessa vez? Tenta de novo, pede ajuda no fórum, assim vai conseguir mais confiança.

Voltando para a questão técnica, o fluxo básico que você mencionou inclui três etapas principais: CLIENT, REQUEST e RESPONSE. Vou te mostrar um exemplo concreto de como fazer uma requisição HTTP, receber o JSON, e transformá-lo em um objeto Java usando o Gson. Isso vai te dar uma visão mais clara de como conectar todos esses conceitos.

Aqui está um exemplo de como fazer isso:

import java.io.Reader;
import java.net.HttpURLConnection;
import java.net.URL;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

public class ConsumirApi {
    public static void main(String[] args) {
        try {
            // Etapa CLIENT: Configurando o cliente HTTP
            URL url = new URL("https://api.exemplo.com/dados");
            HttpURLConnection conexao = (HttpURLConnection) url.openConnection();
            conexao.setRequestMethod("GET");
            conexao.setRequestProperty("Accept", "application/json");

            // Etapa REQUEST: Verificando o código de resposta
            if (conexao.getResponseCode() != 200) {
                throw new RuntimeException("Falha: HTTP error code : " + conexao.getResponseCode());
            }

            // Etapa RESPONSE: Lendo o conteúdo da resposta
            Reader leitor = new java.io.InputStreamReader(conexao.getInputStream());
            
            // Usando Gson para converter o JSON em objeto Java
            Gson gson = new Gson();
            TipoDoObjeto objeto = gson.fromJson(leitor, TipoDoObjeto.class);
            
            System.out.println(objeto); // Exibindo o objeto convertido
            
            conexao.disconnect();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

class TipoDoObjeto {
    // Defina os atributos de acordo com o JSON que você está recebendo
    private String atributo1;
    private int atributo2;

    @Override
    public String toString() {
        return "Atributo1: " + atributo1 + ", Atributo2: " + atributo2;
    }
}

No código acima:

  • CLIENT: O cliente HTTP é configurado com o método HttpURLConnection.
  • REQUEST: O método GET é usado para requisitar dados da API.
  • RESPONSE: O JSON é recebido e transformado em um objeto Java com o Gson.

Você pode ajustar este exemplo ao tipo de JSON que sua API retorna. Depois que entender essa estrutura, ficará mais fácil manipular os dados e avançar nos exercícios.

Fico à disposição e bons estudos!