Напишите программу, которая с консоли считывает поисковый запрос, и выводит результат поиска по Википедии. Задача разбивается на 4 этапа:
- Считать запрос
- Сделать запрос к серверу
- Распарсить ответ
- Вывести результат
Первый и четвертый пункт не сильно нуждаются в пояснении, остановимся на запросе к серверу.
Эту задачу тоже можно разбить на несколько этапов:
- Генерация запроса
- Запрос к серверу
- Подготовка к обработке ответа
- Обработка ответа
Рассмотрим это подробнее:
API предоставляет возможность делать поисковые запросы, без ключей. Вот таким, примерно, образом:
https://ru.wikipedia.org/w/api.php?action=query&list=search&utf8=&format=json&srsearch="Java"
Вы можете открыть эту ссылку в браузере, и посмотреть на результат запроса. Однако, чтобы запрос прошел удачно, следует убрать из ссылки недопустимые символы, то есть сделать Percent-encoding, он же URL Encoding. Для этого в Java можно воспользоваться статическим методом encode в классе URLEncoder, вот так:
street = URLEncoder.encode(street, "UTF-8");
Вот и всё, URL готов! Осталось теперь сделать запрос к серверу…
Для GET и POST запросов можно воспользоваться классом HttpURLConnection. Это самое простое. Просто создать, открыть соединение и получить InputStream. Нам его даже не надо читать, за нас это сделает Gson. Ещё можно использовать retrofit, или что-то подобное.
Сервер возвращает данные в формате JSON. Но нам его не надо парсить вручную, для этого есть библиотека Gson от Google.
Примеры есть тут:
https://github.com/google/gson
https://habrahabr.ru/company/naumen/blog/228279/
Если остаётся время, можно написать получение статьи, выбранной при поиске и так далее.