Этот проект представляет собой архитектуру на основе микросервисов, реализованную с использованием .NET 8 и Entity Framework Core. Решение состоит из трёх микросервисов: UserService, ProductService и OrderService. MainService обрабатывает взаимодействие между этими службами с помощью шлюза API Ocelot, каждый из которых отвечает за свой собственный домен.
UserService
, ProductService
и OrderService
.POST GET /users/{id}
в /api/users/{id}
POST GET /products/{id}
в /api/products/{id}
POST GET /orders/{id}
в /api/orders/{id}
GET /api/users
— получить всех пользователей.GET /api/users/{id}
— получить пользователя по идентификатору.POST /api/users
— добавить нового пользователя.GET /api/products
— получить все продукты.GET /api/products/{id}
— получить продукт по идентификатору.POST /api/products
— Добавить новый товар.GET /api/orders
— получить все заказы.GET /api/orders/{id}
— Получить заказ по идентификатору.POST /api/orders
— Создать новый заказ.GET /api/orders/details/{id}
— получить сведения о заказе, включая информацию о пользователе и продукте.GET /api/users/{id}
и GET /api/products/{id}
из этих служб для получения информации о пользователях и продуктах. Каждая служба имеет собственный контекст базы данных и настроена на использование Entity Framework Core для доступа к данным. Службы настроены для взаимодействия друг с другом посредством HTTP-запросов.
UserDto
, ProductDto
, OrderDto
UserService
, ProductService
и OrderService
.MainService
упрощает взаимодействие с микросервисами, предоставляя унифицированный интерфейс.UserContext
User
ProductContext
Product
OrderContext
Order
Каждая служба включает Swagger для тестирования. Вы можете получить к ним доступ по следующим URL-адресам:
https://localhost:7188/swagger
https://localhost:7197/swagger
https://localhost:7138/swagger
Каждая служба доступна из MainService. Вы можете получить к ним доступ, выполнив запрос GET
или POST
в Postman:
https://localhost:7133/users/
https://localhost:7133/products/
https://localhost:7133/orders/