- Клонировать репозиторий, собрать проект, запустить docker-compose или можно просто скачать docker-compose.yaml из папки dockercompose и запуститься с него
- Также запустил на AWS, но не уверен что он будет доступен (у меня только через Tor запускается http://docke-loadb-413yyyuxd2kw-a2489cebf416af05.elb.eu-west-3.amazonaws.com:8080/rest/*)
- Доступные конечные точки
- GET rest/attractions - все достопримичательности, опционально параметры запроса typeFilter={BUILDING, CONSTRUCTION, MUSEUM, MONUMENT, RESERVE}, nameSorted={true, false}
- GET rest/attractions/city/{name} - достопримичательности города
- POST rest/attractions - добавления достопримечательности, тело запроса должно включать поля
{
name: "Название достопримичательности",
description: "Описание",
dateConstruction: "Дата основания YYYY-MM-dd",
type: "Тип (порядковый номер в Enum Type)",
cityId: "Id города из списка доступных городов"
}
- PATCH rest/attractions/update/{id} - обновления описания достопреиечательности обязательный параметр description
- DELETE rest/attractions/delete/{id} - удаления достопримечательности
- GET rest/cities - список городов
- POST rest/cities - добавления города, тело запроса должно включать поля
{
name: "Название города",
country: "Страна",
population: "Численность населения",
underground: "Наличие метро"
}
- PATCH rest/cities/update/{id} - обновления города, опциональные параметры population, underground
Необходимо создать REST-сервис для хранения данных о городских достопримечательностей. Структура данных: Город
Идентификатор (порядковый номер)
Название города
Численность населения
Наличие метро
Страна
Идентификатор
Название достопримечательности
Дата постройки
Краткое описание
Тип достопримечательности (enum, например: Здание/Сооружение/Музей/Памятник/Заповедник)
Идентификатор города
REST-сервис должен предоставлять следующие методы:
- Получить все достопримечательности (опционально можно передать параметр для сортировки по наименованию достопримечательности, параметр для фильтрации по типу достопримечательности)
- Получить все достопримечательности конкретного города
- Добавить город
- Добавить достопримечательность
- Изменение данных по городу (возможно изменение только полей: Численность населения, Наличие метро)
- Изменение данных по достопримечательности (возможно изменение только полей: Краткое описание)
- Удаление достопримечательности из справочника Сервис при первом запуске должен самостоятельно создавать необходимые объекты в БД с помощью Liquibase. Необходимо использовать PostgreSQL. Для реализации необходимо использовать Java 8, Spring Boot, Hibernate, PostgreSQL, Liquibase. Исходный код загрузить в GitHub и в описании указать краткую инструкцию по запуску приложения.