# Лабораторная работа №3 - REST API, Gateway и синхронный обмен между микросервисами ## ПИбд-42 || Исмаилов Ровшан ### Описание: рамках лабораторной работы были созданы две сущности со связью "один-ко-многим". Реализованы все CRUD-операции, включая: - Получение списка записей. - Получение одной записи. - Создание новой записи. - Редактирование существующей записи. - Удаление записи. Для сущности "Факультет" добавлена возможность получения записи вместе со списком всех связанных специальностей. Этот функционал предполагает взаимодействие с другим сервисом. Также реализована проверка существования факультета по его ID. Сущность "Специальность" дополнена следующими функциями: - Получение списка записей с информацией о факультетах. - Получение записей, связанных с конкретным факультетом (по ID факультета). - Получение одной записи с подробной информацией о факультете. ### Цель лабораторной работы Овладение принципами проектирования шаблона Gateway, построения синхронного взаимодействия между микросервисами и разработкой RESTful API. ### Выбранные сущности: - Факультет. Поля: Uuid, Name и Description - Специальность. Поля: Uuid, Name, CountPlaces и Faculty_Id ### Инструкция для работы 1. Клонирование репозитория: ``` git clone <ссылка-на-репозиторий> cd <папка репозитория> cd <папка лабораторной работы> ``` 2. Запуск контейнеров: ``` docker compose up --build ``` 3. Результаты: В результате можно будет применят CRUD операции к сущностям через http запросы. Для демонстрации был выбран знакомый инструмент Postman. ### Видео с демонстрацией работы: https://cloud.mail.ru/public/ktx4/3dHDsNr7T