DAS_2024_1/ismailov_rovshan_lab_3/README.md

42 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Лабораторная работа №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