Skip to content

IvanVarnavsky/clients-and-contacts-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API клиентов и их контактов

Пример restful-сервиса клиентов и контактов с использованием таких технологий как Spring Data JPA и Java.

В проекте имеются следующие эндпоинты:

GET /clients Возвращает список всех клиентов и связанные с ними контакты при наличии.

GET /clients/{id} Возвращает информацию о клиенте по его id.

POST /clients Создает нового клиента.

PUT /clients/{id} Изменяет информацию о клиенте по его id.

DELETE /clients/{id} Удаляет клиента по id.

GET /clients/{id}/phones Возвращает список всех номеров телефонов у конкретного клиента по его id.

POST /clients/{id}/phones Добавляет номер телефона у конкретного клиента по его id.

GET /clients/{id}/emails Возвращает список всех адресов электронной почты у конкретного клиента по его id.

POST /clients/{id}/emails Добавляет адрес электронной почты у конкретного клиента по его id.

GET /clients/{id}/contacts Возвращает список всех контактов у конкретного клиента по его id.

В проекте уже присутствует готовая БД H2 с небольшим набором данных, а для самостоятельного создания БД, приведены скрипты ниже.

Таблица клиентов:

create table client
(
    id         serial constraint client_pk primary key,
    name       varchar not null
);

Таблица телефонов, связанных с клиентами:

create table phone
(
    id         serial constraint phone_pk primary key,
    client_id integer not null
    constraint phone_client_fk references client,
    number       varchar not null
);

Таблица адресов электронной почты, связанных с клиентами:

create table email
(
    id         serial constraint email_pk primary key,
    client_id integer not null
    constraint email_client_fk references client,
    address      varchar not null
);

About

API клиентов и их контактов

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages