Перевел консольное приложение из репозитория "module2-hibernate" на Spring Boot.
Что сделано:
- Использован паттер DTO.
- Заменен Hibernate на Spring data JPA, база данных — PostgreSQL. Для конфигурации используется yml-файл.
- Реализовано API для получения, создания, обновления и удаления юзера.
- Добавлена валидация данных при вводе и статусы ответа на запрос (запросы отправлялись через Postman).
- Добавлен обработчик ошибок для контроллера (для обработки неккоретных запросов).
- Написаны тесты для API (при помощи mockMvc).
- Написана документация для API с помощью Swagger.
- Добавлена поддержка HATEOAS.
- Выступает в качестве Kafka-продюсера (микросервис общается через kafka с микросервисом уведомлений из репозитория "module5-kafka"). При добавлении/удалении пользователя этот микросервис отправляет сообщение в kafka об этом событии. Микросервис уведомлений получает его и отправляет email пользователю о том, что аккаунт создан/удален
Также этот сервис может быть вызван через api gateway из репозитория "module7-GatewayAPI"