Bei diesem Projekt handelt es sich um eine auf Microservices basierende Architektur, die mit .NET 8 und Entity Framework Core implementiert wird. Die Lösung besteht aus drei Mikrodiensten: UserService, ProductService und OrderService. MainService verarbeitet Interaktionen zwischen diesen Diensten mithilfe des Ocelot API Gateway, wobei jeder für seine eigene Domäne verantwortlich ist.
UserService
, ProductService
und OrderService
.POST GET /users/{id}
an /api/users/{id}
POST GET /products/{id}
an /api/products/{id}
POST GET /orders/{id}
an /api/orders/{id}
GET /api/users
– Alle Benutzer abrufen.GET /api/users/{id}
– Rufen Sie einen Benutzer anhand seiner ID ab.POST /api/users
– Einen neuen Benutzer hinzufügen.GET /api/products
– Alle Produkte abrufen.GET /api/products/{id}
– Rufen Sie ein Produkt anhand der ID ab.POST /api/products
– Ein neues Produkt hinzufügen.GET /api/orders
– Alle Bestellungen abrufen.GET /api/orders/{id}
– Rufen Sie eine Bestellung anhand der ID ab.POST /api/orders
– Erstellen Sie eine neue Bestellung.GET /api/orders/details/{id}
– Bestelldetails abrufen, einschließlich Benutzer- und Produktinformationen.GET /api/users/{id}
und GET /api/products/{id}
von diesen Diensten, um Benutzer- und Produktinformationen abzurufen. Jeder Dienst verfügt über einen eigenen Datenbankkontext und ist für die Verwendung von Entity Framework Core für den Datenzugriff konfiguriert. Die Dienste sind so eingerichtet, dass sie über HTTP-Anfragen miteinander kommunizieren.
UserDto
, ProductDto
, OrderDto
UserService
, ProductService
und OrderService
.MainService
vereinfacht die Interaktion mit den Microservices durch die Bereitstellung einer einheitlichen Schnittstelle.UserContext
User
ProductContext
Product
OrderContext
Order
Jeder Service beinhaltet Swagger zum Testen. Sie können diese unter den folgenden URLs erreichen:
https://localhost:7188/swagger
https://localhost:7197/swagger
https://localhost:7138/swagger
Auf jeden Dienst kann über MainService zugegriffen werden. Sie können darauf zugreifen, indem Sie in Postman eine GET
oder POST
Anfrage stellen:
https://localhost:7133/users/
https://localhost:7133/products/
https://localhost:7133/orders/