Как выполнить простое чтение API-интерфейс REST, который к услугам гостей JSON в качестве ответа на запрос GET.
Наша единственная зависимость будет библиотекой GSON от Google, чтобы десериализовать JSON в объект Java.
Для нашего примера пойду получения данных самолетов, доступные услуги, OpenSky , документацию по API можно найти здесь:
Сперва давайте создадим класс с такими же полями и tepos ответ JSON от API, который будет просматриваться:
Сперва давайте создадим класс с такими же полями и tepos ответ JSON от API, который будет просматриваться:
public class Dados { private String time; private String[][] states; public String getTime() { return time; } public void setTime(String time) { this.time = time; } public String[][] getStates() { return states; } public void setStates(String[][] states) { this.states = states; } }
Теперь наш мастер-класс, где выполняется запрос HTTP от url-адрес определяется и его содержимое считывается с помощью BufferedReader.
Затем просто шаг содержимое JSON для библиотеки GSON, где будет десериализации в объект “Данных”.
в объект “Данных”.
public class APIRest { public static void main(String[] args) { try { String url = "https://opensky-network.org/api/states/all?lamin=45.8389&lomin=5.9962&lamax=47.8229&lomax=10.5226"; HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection(); conn.setRequestMethod("GET"); conn.setRequestProperty("Accept", "application/json"); if (conn.getResponseCode() != 200) { System.out.println("Erro " + conn.getResponseCode() + " ao obter dados da URL " + url); } BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream()))); String output = ""; String line; while ((line = br.readLine()) != null) { output += line; } conn.disconnect(); Gson gson = new Gson(); Dados dados = gson.fromJson(new String(output.getBytes()), Dados.class); System.out.println("TIME: " + dados.getTime()); System.out.println("STATES: " + Arrays.toString(dados.getStates()[0])); } catch (IOException ex) { Logger.getLogger(APIRest.class.getName()).log(Level.SEVERE, null, ex); } } }
Выход будет что-то вроде:
TIME: 1559738039 STATES: [3c6671, DLH1153 , Germany, 1559738039, 1559738039, 6.6706, 46.3694, 10363.2, false, 259.33, 5.24, 0.33, null, 10599.42, 5507, false, 0]
[]’s
Оригинал: “https://dev.to/pcollares/como-fazer-uma-requisicao-get-de-uma-api-rest-em-java-e-transformar-o-json-em-um-objeto-55ag”