DAS_2024_1/ismailov_rovshan_lab_3/README.md

2.7 KiB
Raw Blame History

Лабораторная работа №3 - REST API, Gateway и синхронный обмен между микросервисами

ПИбд-42 || Исмаилов Ровшан

Описание:

рамках лабораторной работы были созданы две сущности со связью "один-ко-многим". Реализованы все CRUD-операции, включая:

  • Получение списка записей.
  • Получение одной записи.
  • Создание новой записи.
  • Редактирование существующей записи.
  • Удаление записи.

Для сущности "Факультет" добавлена возможность получения записи вместе со списком всех связанных специальностей. Этот функционал предполагает взаимодействие с другим сервисом. Также реализована проверка существования факультета по его ID.

Сущность "Специальность" дополнена следующими функциями:

  • Получение списка записей с информацией о факультетах.
  • Получение записей, связанных с конкретным факультетом (по ID факультета).
  • Получение одной записи с подробной информацией о факультете.

Цель лабораторной работы

Овладение принципами проектирования шаблона Gateway, построения синхронного взаимодействия между микросервисами и разработкой RESTful API.

Выбранные сущности:

  • Факультет. Поля: Uuid, Name и Description
  • Специальность. Поля: Uuid, Name, CountPlaces и Faculty_Id

Инструкция для работы

  1. Клонирование репозитория:
git clone <ссылка-на-репозиторий>
cd <папка репозитория>
cd <папка лабораторной работы>
  1. Запуск контейнеров:
docker compose up --build
  1. Результаты: В результате можно будет применят CRUD операции к сущностям через http запросы. Для демонстрации был выбран знакомый инструмент Postman.

Видео с демонстрацией работы:

https://cloud.mail.ru/public/ktx4/3dHDsNr7T