Skip to content

Liuban0Stanislav/m4BankTask

Repository files navigation

4mBank

Содержание

Видео

4mBankTest.mp4

Что сделано

Проект выполнен с использованием SpringBoot. В ходе работы реализованы следующие эндпоинты:

  • POST - Добавить модель;
  • POST - Удалить модель;
  • POST - Получение суммы двух чисел, идентифицируемых их именами;
  • GET - Получить все модели из базы данных.
  1. В корневом каталоге проекта можно найти файл с экспортированной коллекцией запросов Postman в формате JSON: Эндпоинты для Postman
  2. Скрипт на сборку проекта находится здесь: sum_service.jar


Для запуска используйте команду: java -jar sum_service.jar

Для остановки проекта нажмите Ctrl + C

Структура проекта

Настоящий SpringBoot прект имеет классическую трехслойную структуру:

  • слой контроллеров, содержащий эндпоинты;
  • слой сервисов, содержащий бизнесс логику;
  • слой DAO(Data Access Object) или же слой репозиториев;

База данных используемая в проекте PostgreSQL.

Описание проекта

Для выполнения поставленной задачи, была создана сущность:

Для настройки ответов JSON и исключениями был использован класс ExceptionHandler:

Для логирования методов используется класс MethodInspector

Ошибки обрабатываемые в ендпоинте "Добавить модель"

  • "code": 400, "description": "Нельзя вводить пустую строку" - запрет ввода имен вида "", и " ";
  • "code": 409, "description": "Конфликт версий: версия сущности, хранящаяся в базе данных, не соответствует версии, считанной из базы данных. - метод save() может выбрасывать исключение IllegalArgumentException
  • "code": 409, "description": "Конфликт версий: версия сущности, хранящаяся в базе данных, не соответствует версии, считанной из базы данных." - метод save() может выбрасывать исключение OptimisticLockingFailureException

Ошибки обрабатываемые в ендпоинте "Удалить модель"

  • "code": 400, "description": "Удаляемый объект не должен быть равен null." - появляется при вводе пустой строки либо неверного значения

Ошибки обрабатываемые в ендпоинте "Получение суммы двух чисел, идентифицируемых их именами."

  • "code": 400, "description": "Отсутствует одно из слагаемых" - появляется если ввести пустую строку вместо имени одного из слагаемых
  • "code": 400, "description": "Имя слагаемого введено не верно." - появляется если ввести неверное имя слагаемого

Ошибок нет и метод возвращает JSON

  • "code": 200, "description": "ok", "sum": 4 - пример верного ответа для ендпоинта /sum
  • "code": 200, "description": "ok" - пример верного ответа для ендпоинтов /add и /remove

Используемые технологии

Проект использует следующие технологии и библиотеки:

  • Spring Boot: Фреймворк для создания веб-приложений на языке Java.
  • Hibernate: Фреймворк для работы с базой данных.
  • PostgreSQL: База данных для разработки.
  • Postman Инструменты для работы с эндпоинтами.

Над проектом работал

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages