Использованные технологии:
- Spring Boot
- Hibernate без Spring Data Jpa
- реализована возможность фильтрации и сортировки
- в application.yml вынесены зависимые от окружения переменные
- подготовлен docker-compose файл
- готовая коллекция с запросами для postman (./meetup-api)
- написана спецификация openapi (./meetup-api/spec)
Для запуска:
- meetup-api -> mvn package
- docker compose run из корневой директории проекта.
Api будет доступен на 80 порте. DDL скрипт находится в postgres/meetup-api/ddl
Эндпоинты:Получить список всех ивентов GET /event/
Дополнительные параметры запроса:- subject=тема
- organizer=организатор
- from=дата собатия от (формат mm:HH dd-MM-yyyy)
- to=дата события до (формат mm:HH dd-MM-yyyy)
- sort= сортировка.
Принимает параметры в формате key:value. Несколько параметров через запятую (key:value,key:value,key:value)
Ключи: subject, organizer, date. Значения: asc, desc
Порядок передачи параметров влияет на сортировку
-
Получить ивент по id GET /event/{id}
id - UUID -
Создать новый ивент POST /event/
В теле принимает объект json
Пример:
{
"subject": "subject",
"description": "description",
"organizer": "organizer",
"scheduled_time": "12:00 01-01-2022",
"location": "location"
} -
Обновить существующий ивент PUT /event/{id}
id - UUID
В теле принимает объект json
Пример:
{
"subject": "subject",
"description": "description",
"organizer": "organizer",
"scheduled_time": "12:00 01-01-2022",
"location": "location"
} -
Удалить существующий ивент DELETE /event/{id}
id - UUID