Olá, estou praticando o uso de API com uma aplicação de previsão de tempo usando a chave API da WeatherAPI.com.
O output do JSON vem corretamente, criei a classe record
para traduzir o JSON mas mesmo assim a saída está ficando assim:
WeatherTradutor[name=null, temp_c=0.0, conditionText=null]
Minha classe record:
package Modelos;
public record WeatherTradutor (String name, double temp_c, String conditionText) {
}
Minha Classe Main:
package Main;
import API.WeatherAPI;
import Modelos.WeatherTradutor;
import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException;
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
System.out.println("Informe a cidade:");
String city = scanner.nextLine();
city = city.toLowerCase();
city = city.replace(" ", "%20");
String weatherForecast = WeatherAPI.getWeatherForecast(city);
String json = weatherForecast;
System.out.println(json);
try {
Gson gson = new Gson();
WeatherTradutor weather = gson.fromJson(json, WeatherTradutor.class);
System.out.println(weather);
} catch (JsonSyntaxException e) {
System.out.println("Erro na conversão");
System.out.println(e.getMessage());
}
}
}