42 lines
2.7 KiB
Markdown
42 lines
2.7 KiB
Markdown
# Лабораторная работа №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 |