Создание и тестирование веб-сервиса.
Цель
Создать веб-сервис, который по REST API выдает по поисковым словам url картинок, a также принимает команду на обновление базы.
Примеры запросов:
POST /update
GET /pics?search=xxx
Рекомендуем для тестирования изучить инструмент curl.
Использование сторонних библиотек при выполнении задания запрещено (только стандартный http pkg, никаких gin/echo/…).
Предусмотреть возможность срабатывания обновления всегда в заданное время суток
В этом задании попробуйте применить так называемую гексагональную архитектуру.
Критерии приемки
- make server компилирует приложение сервера xkcd-server
использует такой же конфиг, что и xkcd. Дополнительно необходимо указать порт флагом -p или опцией port в config.yaml
- Сервер использует стандартную http библиотеку для сервиса запросов.
- POST /update возвращает нам HTTP code ОК после обновления, количество new/total comics в виде JSON.
- GET /pics?search="I'll follow your questions" возвращает урлы картинок в JSON формате
- В определенное время сервер сам (раз в сутки) проверяет наличие новых комиксов.
- Есть разделение проекта на независимую core часть и адаптеры
Материалы для ознакомления
- Старый способ сделать http server
- 1.22 http
- Гексагональная архитектура
Создание и тестирование веб-сервиса.
Цель
Создать веб-сервис, который по REST API выдает по поисковым словам url картинок, a также принимает команду на обновление базы.
Примеры запросов:
Рекомендуем для тестирования изучить инструмент curl.
Использование сторонних библиотек при выполнении задания запрещено (только стандартный http pkg, никаких gin/echo/…).
Предусмотреть возможность срабатывания обновления всегда в заданное время суток
В этом задании попробуйте применить так называемую гексагональную архитектуру.
Критерии приемки
использует такой же конфиг, что и xkcd. Дополнительно необходимо указать порт флагом -p или опцией port в config.yaml
Материалы для ознакомления