DAS_2024_1/ismailov_rovshan_lab_3/README.md

42 lines
2.7 KiB
Markdown
Raw Normal View History

2024-12-14 02:55:05 +04:00
# Лабораторная работа №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