Сервис Publisher

Задание:

Необходимо реализовать сервис Publisher, который отвечает за генерацию и отправку сообщений по запросу.

Протокол:

По HTTP GET запросу Publisher генерирует и возвращает JSON сообщение по следующему протоколу:

  • Msisdn. Уникальный номер абонента. В рамках этого задания рандомно сгенерированное цифровое значние.
  • Action. Тип сообщения. Сообщения могут быть 2 типов – PURCHASE или SUBSCRIPTION. Значение выбирается рандомно при генерации сообщения.
  • Timestamp. UNIX timestamp.

Пример сообщения:

{ 
    "msisdn": 123456789, 
    "action": "PURCHASE", 
    "timestamp": 1589464122 
}

Общие требования:

  • Использование JAVA, Spring(модули на усмотрение).
  • Наличие текстового логгирования.

Что реализовано

  • Выполнен сервис (REST API) с использованием Spring Boot.
  • Конвертация Java-объектов в JSON осуществляется библиотекой Jackson.
  • Реализованы классы модели, контроллера и сервиса сообщений: Message.java, MessageController.java, MessageService.java.
  • Проект разворачивается на локальном сервере localhost, порт 8080.
  • Для доступа к сервису необходимо осуществить HTTP GET запрос по адресу http://localhost:8080/publisher/getMessage. В ответ возвращается JSON сообщение, соответствующее протоколу из задания.
  • Логгер реализован в классе Logger.java. Логгирование осуществляется в файл log.txt.