Docs

MediatR

In-process messaging / CQRS.

What is MediatR

MediatR sends requests to a single handler (and notifications to many), keeping controllers thin.

Install

cli
bash
dotnet add package MediatR

Usage

csharp
csharp
public record GetUser(int Id) : IRequest<User>;

public class Handler : IRequestHandler<GetUser, User> {
    public Task<User> Handle(GetUser r, CancellationToken ct) => /* ... */;
}

var user = await mediator.Send(new GetUser(1));

Docs

Official documentation: MediatR.