40 lines
2.4 KiB
Markdown
40 lines
2.4 KiB
Markdown
|
# Лабораторная работа №3 - REST API, Gateway и синхронный обмен между микросервисами
|
|||
|
|
|||
|
## ПИбд-42 || Давыдов Юрий
|
|||
|
|
|||
|
### Описание:
|
|||
|
|
|||
|
В рамках данной лабораторной работы были реализованы две сущности с отношением "один-ко-многим", а также разработаны все CRUD-операции: получение списка записей, получение одной записи, создание, редактирование и удаление записей.
|
|||
|
|
|||
|
Для сущности "факультет" была добавлена возможность получения записи вместе со списком всех специальностей, что осуществляется через взаимодействие с другим сервисом. Также реализована проверка наличия факультета по его id.
|
|||
|
|
|||
|
Для сущности "специальность" предусмотрены следующие операции: получение списка записей с информацией о факультете, получение списка по id факультета, а также получение одной записи с данными о факультете.
|
|||
|
|
|||
|
Цель лабораторной работы
|
|||
|
Изучение шаблона проектирования Gateway, построение синхронного обмена между микросервисами и архитектурного стиля RESTful API.
|
|||
|
|
|||
|
Выбранные сущности:
|
|||
|
Факультет: поля - Uuid, Name, Description
|
|||
|
Специальность: поля - Uuid, Name, CountPlaces, Faculty_Id
|
|||
|
Инструкция для работы
|
|||
|
Клонирование репозитория:
|
|||
|
bash
|
|||
|
Копировать код
|
|||
|
git clone <ссылка-на-репозиторий>
|
|||
|
cd <папка репозитория>
|
|||
|
cd <папка лабораторной работы>
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
2. Запуск контейнеров:
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
docker compose up --build
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
3. Результаты:
|
|||
|
В результате можно будет применят CRUD операции к сущностям через http запросы. Для демонстрации был выбран знакомый инструмент Postman.
|
|||
|
```
|