A customer web API
Follow the connected Customer walkthrough for one consistent set of model, service, repository and host files. The HTTP boundary returns validation failures as 400, missing customers as 404 and successful registration as 201.
The application service
CustomerRegistrationService protects registration policy for both HTTP and non-HTTP callers.
Controller and response handling
The complete CustomersController translates known outcomes without relabeling cancellation or unexpected failures.
Hosting and DI
Wire the ordinary ASP.NET Core host, configuration, factory and scoped application services.
Testing the boundary
Verify that invalid input never opens storage, then exercise the documented HTTP/database integration cases.