Skip to content

Java program which sends HTTP requests, parses and prints response. HSE course lab work.

Notifications You must be signed in to change notification settings

YMagus/Java-networking

Repository files navigation

Простая программа для работы с сетью в Java

Структура программы

1. Класс Main

Этот класс выполняет функции запуска программы. Основные задачи:

  • Загрузка данных о пользователях и континентах через HTTP-запросы.
  • Преобразование полученных данных JSON в объекты классов User и Continent.
  • Вывод информации о загруженных объектах в консоль.

Ключевые методы и функционал:

  • Использует метод NetworkingMethods.getJsonInStringFrom() для получения JSON-строки с удалённых URL.
  • Преобразует JSON-строку в объекты List<User> и List<Continent> с помощью NetworkingMethods.parseUsersJSON() и NetworkingMethods.parseContinentsJSON().
  • Обрабатывает возможные исключения MalformedURLException и IOException.

Пример использования:

  • Получает пользователей с https://fake-json-api.mock.beeceptor.com/users.
  • Получает континенты с https://dummy-json.mock.beeceptor.com/continents.

2. Класс NetworkingMethods

Предоставляет вспомогательные методы для работы с сетевыми запросами и парсингом JSON.

Ключевые методы:

  • getJsonInStringFrom(URL url):
    Загружает JSON-данные из указанного URL и возвращает их в виде строки. Использует потоковый ввод для чтения данных.

  • parseUsersJSON(String userJSON):
    Преобразует JSON-строку в список объектов User с помощью библиотеки Gson.

  • parseContinentsJSON(String userJSON):
    Преобразует JSON-строку в список объектов Continent.

Особенности:

  • Использует библиотеку Gson для сериализации и десериализации JSON.
  • Оптимизирован для работы с типизированными коллекциями (TypeToken<List<User>> и TypeToken<List<Continent>>).

3. Класс User

Модель данных, описывающая пользователя. Содержит информацию о пользователе, включая его личные данные и контактные сведения.

Атрибуты:

  • id — идентификатор пользователя.
  • name, username — имя и логин пользователя.
  • company — компания, где работает пользователь.
  • email, phone — контактные данные.
  • address, zip, state, country — адрес проживания.

Методы:

  • Геттеры и сеттеры для каждого атрибута.
  • Переопределённый toString(), выводящий отформатированную информацию о пользователе.

4. Класс Continent

Модель данных, описывающая континент. Содержит общие характеристики и связанные с ним данные.

Атрибуты:

  • code, name — код и название континента.
  • areaSqKm, population — площадь (км²) и население.
  • lines — список строк, связанных с континентом (например, описание или исторические заметки).
  • countries — количество стран.
  • oceans — список океанов, омывающих континент.
  • developedCountries — список развитых стран на этом континенте.

Методы:

  • Геттеры и сеттеры для каждого атрибута.
  • Переопределённый toString(), выводящий отформатированную информацию о континенте.

Используемые библиотеки и технологии

  • Gson: для работы с JSON.
  • java.net.URL: для работы с URL.
  • java.io: для чтения данных из сети.

About

Java program which sends HTTP requests, parses and prints response. HSE course lab work.

Topics

Resources

Stars

Watchers

Forks

Languages