Skip to content

SunriseVietnam/CaseLab-Java

Repository files navigation

По ТЗ я понял так, что время отправки не должно отправляться в запросе, а само устанавливаться в ходе обработки запроса

a. Описание

Микросервис на базе Spring boot и PostgreSQL, позволяющий хранить текст в формате base64 вместе с атрибутами title, creation_date и description.
Для упрощения кода использовалась библиотеки Lombok, modelmapper. Так же в проекте есть несколько тестов на JUnit для тестирования всех API запросов.

Функционал:
Обращаться к API(с текущими настройками) через localhost:8080/files

  1. GET запрос - возвращает все записи из базы данных.
  2. POST запрос - позволяет добавить запись в базу данных(в теле запроса должны быть поля text, title, description). Возвращает ID записи из базы данных.
  3. GET запрос по адресу localhost:8080/files/{id} возвращает запись из базы данных по указанному ID. В случае, когда запись не найдена, возвращает 404.

b. Инструкция по запуску

На локальном устройстве нужно создать бд с названием 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

c. Примеры тестовых запросов

Получение всех файлов из базы - 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."
}

About

Тестовое задание по CaseLab Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published