Resources and Next Steps

4:55 – 5:00 PM

The workshop code

All five checkpoints and the stretch-goal solutions are in the ASP.NET Minimal API Workshop repo. The solutions/ folder has a completed version of every stretch goal, each in its own branch.

Official documentation used today

Topic Link
Minimal APIs overview learn.microsoft.com/aspnet/core/fundamentals/minimal-apis
Route groups, binding, TypedResults Minimal API route handlers
Endpoint filters Filters in Minimal API apps
OpenAPI in ASP.NET Core Generate OpenAPI documents
Validation in Minimal APIs Parameter validation
ProblemDetails Handle errors in ASP.NET Core
EF Core with SQLite SQLite provider
Identity API endpoints Identity in Minimal APIs
JWT bearer JWT bearer authentication
Policy and resource-based authorization Authorization
Rate limiting Rate limiting middleware
Output caching Output caching middleware
HybridCache HybridCache library
Resilient HttpClient Build resilient HTTP apps
Background services Background tasks with hosted services
Integration tests Integration tests in ASP.NET Core
.NET Aspire Aspire overview
Container images from the SDK Containerize a .NET app with dotnet publish
API versioning Asp.Versioning on GitHub
OWASP API Security Top 10 owasp.org/API-Security

Where to go from here

Real-time. Roastery's order status is a natural fit for Server-Sent Events (the Lab 4 stretch goal) or SignalR when you need two-way communication. Both sit beside Minimal APIs in the same host.

gRPC. For service-to-service calls inside your own system, gRPC gives you a typed contract and better throughput than JSON. The payment client is a good candidate to convert.

Aspire integrations. Postgres, Redis, RabbitMQ, Azure Storage, and dozens more are one builder.Add… call in the AppHost. The Module 5 stretch goals are the first steps.

Security, continued. Read the OWASP API Top 10 in full and audit one of your own APIs against the table in Module 3. Then look at the ASP.NET Core security guidance for data protection, secret management, and OpenID Connect.

Performance, measured. Before optimizing anything else, add dotnet-counters and a load-testing tool to your workflow and let the numbers choose your next target.

Stay in touch

Thank you for spending the day building Roastery.