# E-Commerce Example: HTTP API Expose commands and queries via HTTP endpoints. ## HTTP Endpoint Setup ```csharp var builder = WebApplication.CreateBuilder(args); // Register CQRS builder.Services.AddSvrntyCQRS(); builder.Services.AddDefaultCommandDiscovery(); builder.Services.AddDefaultQueryDiscovery(); // Register commands and queries builder.Services.AddCommand(); builder.Services.AddCommand(); builder.Services.AddQuery(); builder.Services.AddQuery, ListOrdersQueryHandler>(); // Add Swagger builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); var app = builder.Build(); // Map HTTP endpoints app.MapSvrntyCommands(); app.MapSvrntyQueries(); // Enable Swagger app.UseSwagger(); app.UseSwaggerUI(); app.Run(); ``` ## API Endpoints ### Place Order ```bash POST /api/command/placeOrder Content-Type: application/json { "customerId": "customer-123", "lines": [ { "productId": "product-456", "quantity": 2 } ], "shippingAddress": "123 Main St" } ``` ### Get Order ```bash GET /api/query/getOrder?orderId=order-789 ``` ### List Orders ```bash GET /api/query/listOrders?customerId=customer-123&status=Placed&page=1&pageSize=20 ``` ## See Also - [08-grpc-api.md](08-grpc-api.md) - gRPC API - [HTTP Integration](../../http-integration/README.md)