Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Общие сведения по веб-приложению

Rest веб-приложение предназначенное для обработки запросов пользователя и для работы с in-memory базой с TTL для каждой записи.

  • Java 11
  • Spring MVC
  • Database H2(IN-MEMORY)
  • Архитектура
    • Controller - отвечает за получение запросов пользователей и дальнейшую отправку результата. Имеет следующие Endpoints
      • get - Get запрос, требует ключ, выводит content по ключу, в случае отсутствия записи выдаёт метку.
      • set - Post запрос, требует ключ, content также возможно указание ttl записи(в случае если не указано принимается время жизни в 100 секунд)
      • remove - Delete запрос, требует ключ записи, удаляет запись, иначе возвращает код об отсутствии записи.
      • dump - Patch запрос, сохраняет текущие записи в таблице в dump.json файл.
      • load - Patch запрос, загружает данные из файла в базу.
    • Service - отвечает за работу с repository классами, принимает запрос от контроллера, переводя их в соответствующие запросы к классам.
    • DumpFileRepository - отвечает за создание, изменение, загрузку с файла дампа.
    • TimedKeyValueRepository - отвечает за работу непосредственно с базой данных.
    • CleanerDao - отвечает за периодическую очистку устаревших данных. Стартует при запуске программы.
    • Exceptions - отвечают за обработку/вывод исключений.
    • model - Класс с чётко обозначенной структурой для взаимодействия с базой.

Как запустить.

Для запуска приложения необходимо скомпилировать его классы с помощью mvn compile, в случае, если мы хотим получить Jar файл, необходимо использовать mvn package. При использовании jar файла достаточно простого запуска. Файл соберётся и запустит сервер на порту 8080.

Примеры команд

GET http://localhost:8080/get?key=dadaada
POST http://localhost:8080/set?key=test&data=test&ttl=100
POST http://localhost:8080/set?key=dadaadas1121&data=dssds22&ttl=104
PATCH http://localhost:8080/dump
PATCH http://localhost:8080/load

About

Service to work with IN-MEMORY H2 database, has TTL for all entries after which they are deleted.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages