ContactManagerAPI — это веб-приложение на базе Spring Boot для управления контактами. Приложение предоставляет REST API для выполнения операций с контактами, таких как создание, просмотр, обновление и удаление.
- Создание контактов: добавление нового контакта с именем, номером телефона и email.
- Просмотр всех контактов: получение списка всех сохраненных контактов через API.
- Поиск контакта: получение информации о контакте по номеру телефона.
- Обновление контактов: изменение информации о существующем контакте.
- Удаление контактов: удаление контакта по номеру телефона.
- Язык программирования: Java
- Фреймворк: Spring Boot
- Валидация данных: Jakarta Validation (Bean Validation)
- Инструменты: Lombok для генерации кода
- Структура данных: TreeMap для хранения контактов
- Архитектура: многослойная (Controller, Service, Model)
- Контроллер (Controller):
ContactController— обрабатывает HTTP-запросы и возвращает ответы в формате JSON.
- Сервисный слой (Service):
ContactService— интерфейс, определяющий бизнес-логику.ContactServiceImp— реализация интерфейса с использованием коллекцииTreeMap.
- Модель (Model):
ContactModel— класс, описывающий контакт с полями: имя, номер телефона и email. Включает валидацию данных.
POST /contact
{
"name": "John Doe",
"number": "12345678901",
"email": "john.doe@example.com"
}Ответ: 200 OK
Контакт создан
GET /contact/all
Ответ: 200 OK
[
{
"name": "John Doe",
"number": "12345678901",
"email": "john.doe@example.com"
}
]GET /contact/{number}
Ответ: 200 OK
{
"name": "John Doe",
"number": "12345678901",
"email": "john.doe@example.com"
}PUT /contact/{number}
{
"name": "John Updated",
"number": "12345678901",
"email": "john.updated@example.com"
}Ответ: 200 OK
Ваш контакт изменен
DELETE /contact/{number}
Ответ: 200 OK
Контакт с номером: 12345678901 удален
- Склонируйте репозиторий:
git clone https://github.com/aligarkh7/ContactManagerAPI.git
- Перейдите в папку проекта:
cd ContactManagerAPI - Соберите и запустите приложение:
./mvnw spring-boot:run
- Приложение будет доступно по адресу:
http://localhost:8080
- Интеграция с базой данных (PostgreSQL, MySQL и др.).
- Добавление аутентификации и авторизации.
- Логирование действий пользователя.
- Разработка пользовательского интерфейса (UI) для работы с контактами.
Muhametali
Мой профиль GitHub