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 , OrderDtoUserService , ProductService und OrderService .MainService vereinfacht die Interaktion mit den Microservices durch die Bereitstellung einer einheitlichen Schnittstelle.UserContextUserProductContextProductOrderContextOrder Jeder Service beinhaltet Swagger zum Testen. Sie können diese unter den folgenden URLs erreichen:
https://localhost:7188/swaggerhttps://localhost:7197/swaggerhttps://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/