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
|