Skip to content

Where to go next

The finished tutorial app, and where to read further on each package.

2 min read

You now have a Todo API built from five packages, with every registration generated at compile time and no reflection anywhere in the request path.

  • Todo/
    • Todo.csproj
    • Program.cs
    • TodoRepository.cs
    • Features/
      • GetTodosQuery.cs
      • GetTodoQuery.cs
      • GetTodoQueryCache.cs
      • GetTodo.cs
      • CreateTodoCommand.cs
      • CompleteTodoCommand.cs

Concepts worth reading next

These cut across every package, and the per-package guides link into them rather than repeating them.

The package deep dives

Things the tutorial left out

  • Behaviors. The pipeline is the main extension point and the tutorial only used one (ValidationBehavior<,>). Creating behaviors covers ordering, generic constraints and why a behavior sometimes doesn’t run.
  • Route groups. Four endpoints don’t need them; forty do. See Route groups.
  • Custom validators. The built-ins cover a lot, but the extensibility mechanism is Building custom validators.
  • Diagnostics. Each package ships a set of analyzer rules; each has a page listing them with triggers and available code fixes, so pasting an ID into search lands somewhere useful.

Worked examples