- Пользователь подает на вход адрес новостного сайта или его RSS-ленты
и правило парсинга новостей из него. - База данных агрегатора начинает автоматически пополняться новостями с этого сайта.
- У пользователя есть возможность просматривать список новостей из базы
и искать их по подстроке в заголовке новости. - Валидация входных данных
- Интеграционные тесты с Wiremock
sh .dev/start.shsh .dev/stop.sh
- Добавить источник:
curl -X POST -H "Content-Type: application/json" http://127.0.0.1:8080/sources -d "{\"name\":\"rbk\",\"url\":\"https://rssexport.rbc.ru/rbcnews/news/90/full.rss\",\"rules\":{\"item_path\":\"//item\",\"title_path\":\"title\",\"description_path\":\"description\",\"date_path\":\"pubDate\",\"date_format\":\"EEE, dd MMM yyyy HH:mm:ss Z\"}}" - Удалить источник по id:
curl -X POST -H "Content-Type: application/json" http://127.0.0.1:8080/sources/remove -d "{ \"id\": 5 }"
- Все новости по всем источникам:
http://localhost:8080/feed?dateFrom=2025-07-01T06:08:01Z&count=30 - Поиск:
http://localhost:8080/feed?dateFrom=2025-07-01T06:08:01Z&count=30&searchText=Делегация
Сервер отдаёт новости в виде json-массива (можно видеть различные источники):
