По ТЗ я понял так, что время отправки не должно отправляться в запросе, а само устанавливаться в ходе обработки запроса
Микросервис на базе Spring boot и PostgreSQL, позволяющий хранить текст в формате base64 вместе с атрибутами title, creation_date и description.
Для упрощения кода использовалась библиотеки Lombok, modelmapper. Так же в проекте есть несколько тестов на JUnit для тестирования всех API запросов.
Функционал:
Обращаться к API(с текущими настройками) через localhost:8080/files
- GET запрос - возвращает все записи из базы данных.
- POST запрос - позволяет добавить запись в базу данных(в теле запроса должны быть поля text, title, description). Возвращает ID записи из базы данных.
- GET запрос по адресу localhost:8080/files/{id} возвращает запись из базы данных по указанному ID. В случае, когда запись не найдена, возвращает 404.
На локальном устройстве нужно создать бд с названием mydatabase и логином администратора postgres с паролем password(описано в файле src/main/resources/application.properties). В командой строке прописать:
./gradlew build
java -jar build/libs/CaseLab-Java-0.0.1.jar
Для Docker необходимо в консоли прописать:
docker build -t caselab-java:spring-docker .
docker-compose up
Получение всех файлов из базы - GET localhost:8080/files
Получение конкретного файла по ID = 1 - GET localhost:8080/files/1
Добавление нового файла в базу -
POST localhost:8080/files
body(JSON):
{
"file": "SGVsbG8gV29ybGQ=",
"title": "FirstFile",
"description":"this is file."
}