DAS_2024_1/tukaeva_alfiya_lab_3/README.md

53 lines
2.4 KiB
Markdown
Raw Permalink 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 и синхронный обмен между микросервисами
## Задание
* Создать 2 микросервиса, реализующих CRUD на связанных сущностях.
* Реализовать механизм синхронного обмена сообщениями между микросервисами.
* Реализовать шлюз на основе прозрачного прокси-сервера nginx.
## Предметная область:
В качестве предметной области использовался пример 19-го варианта. Имеются 2 сущности: одна сущность - книга в библиотеке, вторая - тематика.
Поля тематики: УИД (уникальный идентификатор) тематики, номер, название. Поля книги: УИД книги, Автор, Название, Год издания, УИД тематики, к которой принадлежит книга.
## Запуск ЛР:
Введем в терминале команду:
```
docker compose up --build
```
Эта команда сначала выполнит сборку, а затем запустит контейнеры.
Также нужно убедиться в том,что 80 порт свободен и тогда вся система запустится.
Запускаем Postman и запускаем следующие запросы:
![](lab_3.1.png "")
Для каждой сущности были реализованы CRUD-операции.
Theme сервис:
GET /themes — получить все темы
POST /themes — создать новую тему
GET /themes/{id} — получить тему по ID
GET /themes/with-books/{themeId} — получить все книги, которые относятся к themeId
PUT /themes/{id} — обновить тему по ID
DELETE /themes/{id} — удалить тему по ID
Book сервис:
GET /books — получить все книги
POST /books — создать новую книгу
GET /books/{id} — получить книгу по ID
PUT /books/{id} — обновить книгу по ID
DELETE /books/{id} — удалить книгу по ID
# Видео
https://vk.com/video230744264_456239105?list=ln-xiFZDAJoFyAsG9Dg2l