Микросервис, выполняющий роль хранилища различных файлов и их атрибутов. Предоставляет HTTP API и принимает запросы и отдает ответы в формате JSON.
- Java21
- Spring Boot
- Lombok
- Maven
- Hibernate
- Spring Data JPA
- PostgreSQL
- JUnit
- Docker
1. Реализован следующий функционал:
-
Создание файла.
На вход методу
saveFile()отправляется JSON, включающий в себя файл (в формате base64) и его атрибуты (название - title, дата и время отправки - creation_date, краткое описание документа - description), на выходе метод возвращает id созданного файла. -
Получение файла.
На вход методу
findById()отправляется id файла, на выходе метод возвращает JSON, включающий в себя файл (в формате base64) и его атрибуты (название - title, дата и время отправки - creation_date, краткое описание документа - description). -
Получение всех файлов.
Метод
findAllFiles()возвращает JSON, включающий "первую страницу" (5 элементов/стр.) отсортированного по времени создания (от новых к старым) списка файлов (и их атрибутов).
2. Добавлен тест сервиса на случай запроса отсутствующего файла
3. Реализована контейнеризация приложения:
- С помощью Dockerfile создан образ Spring Boot проекта на основе его .jar
- Полученный образ загружен на dockerhub
- Создан файл docker-compose.yaml с конфигурацией для совместного запуска контейнеров Spring Boot и PostgreSQL
У вас должны быть установлены:
- terminal
- docker
- docker-compose
Инструкция по запуску приложения:
- Скачать файл
docker-compose.yml - В терминале перейти в директорию с
docker-compose.yml - Запустить контейнеры командой
docker-compose up -d
1. Добавление файла со случайно сгенерированными значениями атрибутов и получение id добавленной записи.
2. Получение добавленного файла и его атрибутов по id.
3. Получение первой страницы списка всех файлов, отсортированных по времени создания, после добавления еще нескольких случайных записей.


