Ce projet est une architecture basée sur des microservices implémentée à l'aide de .NET 8 et Entity Framework Core. La solution se compose de trois micro-services : UserService, ProductService et OrderService. MainService gère les interactions entre ces services à l'aide d'Ocelot API Gateway où chacun est responsable de son propre domaine.
UserService , ProductService et OrderService .POST GET /users/{id} dans /api/users/{id}POST GET /products/{id} /api/products/{id}POST GET /orders/{id} dans /api/orders/{id}GET /api/users - Récupère tous les utilisateurs.GET /api/users/{id} - Récupère un utilisateur par ID.POST /api/users - Ajoutez un nouvel utilisateur.GET /api/products - Récupère tous les produits.GET /api/products/{id} - Récupère un produit par ID.POST /api/products - Ajouter un nouveau produit.GET /api/orders - Récupère toutes les commandes.GET /api/orders/{id} - Récupère une commande par ID.POST /api/orders - Créez une nouvelle commande.GET /api/orders/details/{id} - Récupère les détails de la commande, y compris les informations sur l'utilisateur et le produit.GET /api/users/{id} et GET /api/products/{id} de ces services pour récupérer des informations sur les utilisateurs et les produits. Chaque service possède son propre contexte de base de données et est configuré pour utiliser Entity Framework Core pour l'accès aux données. Les services sont configurés pour communiquer entre eux via des requêtes HTTP.
UserDto , ProductDto , OrderDtoUserService , ProductService et OrderService .MainService simplifie l'interaction avec les microservices en fournissant une interface unifiée.UserContextUserProductContextProductOrderContextOrder Chaque service inclut Swagger pour les tests. Vous pouvez y accéder aux URL suivantes :
https://localhost:7188/swaggerhttps://localhost:7197/swaggerhttps://localhost:7138/swagger Chaque service est accessible depuis MainService. Vous pouvez y accéder en effectuant une requête GET ou POST dans Postman :
https://localhost:7133/users/https://localhost:7133/products/https://localhost:7133/orders/