The 5 Most Common REST API Design Mistakes (and How to Avoid Them)
Five REST API design mistakes I see all the time, with practical fixes. Use consistent resource naming, evolve contracts instead of bumping versions, ...
Page 7 of 22. Practical .NET and software architecture lessons.
Five REST API design mistakes I see all the time, with practical fixes. Use consistent resource naming, evolve contracts instead of bumping versions, ...
Want real boundaries in your modular monolith? This article shows how to enforce them at the database level using Postgres schemas, roles, and EF Core...
EF 10 introduces named query filters, letting you attach multiple filters to a single entity and disable specific ones without turning off all query f...
Generate PDF reports in .NET using HTML templates and a headless browser. We'll explore Handlebars.NET and PuppeteerSharp, compare alternatives, and a...
Learn How to handle errors globally in ASP.NET Core using middleware, IProblemDetailsService, and the new IExceptionHandler in .NET 8. This week's iss...
A practical walkthrough of using .NET Aspire's Docker publisher to generate Docker Compose files from C# code. Learn how to set up an API with Postgre...
Integration tests shouldn't rely on external infrastructure, but they also shouldn't mock everything away. Here's how to use Testcontainers in .NET fo...
Instrumenting your .NET apps with OpenTelemetry is easy. But what about actually seeing those metrics and traces in action? Here's how to stream obser...
With .NET 10, you can now run C# files directly. No project files, no Main method, just code. In this issue, I'll show you how to use the new `dotnet ...
That viral SQL performance tip about filtering before joining? It is complete nonsense. Here is why query optimizers make it irrelevant.
Join 66,000+ readers of The .NET Weekly for practical tips and resources to improve your .NET and software architecture skills.