Skip to content

Instantly share code, notes, and snippets.

@DamianEdwards
Last active November 22, 2022 19:24
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save DamianEdwards/56a8834aa917a8b2cfd5bcb1952ba634 to your computer and use it in GitHub Desktop.
Save DamianEdwards/56a8834aa917a8b2cfd5bcb1952ba634 to your computer and use it in GitHub Desktop.
ASP.NET Core middleware & endpoint routing type & extension hierarchy
  • IApplicationBuilder Used to configure the application middleware pipeline
    • Map() -> IApplicationBuilder
    • MapWhen() -> IApplicationBuilder
    • Run() -> void
    • Use() -> IApplicationBuilder
    • UseMiddleware() -> IApplicationBuilder
    • UsePathBase() -> IApplicationBuilder
    • UseRouting() -> IApplicationBuilder
    • UseRouter(Action<IRouteBuilder> action) -> IApplicationBuilder
    • UseEndpointPoints() -> IApplicationBuilder
    • UseWhen() -> IApplicationBuilder
    • Use*() -> IApplicationBuilder
  • IRouteBuilder Used to define routes for a specific IRouter (pre-Endpoint routing)
    • MapRoute() -> IRouteBuilder
    • MapGet(string template, RequestDelegate handler)
    • MapGet(string template, Func<HttpRequest, HttpResponse, RouteData, Task> handler)
    • MapPost, MapPut, MapDelete, MapVerb
  • IEndpointRouteBuilder Used to create an endpoint definition
    • MapGroup() -> GroupRouteBuilder
    • MapAction() -> IEndpointRouteBuilder
    • MapControllers() -> IEndpointRouteBuilder
    • MapRazorPages() -> IEndpointRouteBuilder
    • MapHub() -> HubEndpointConventionBuilder
    • MapBlazorHub() -> ComponentEndpointConventionBuilder
    • MapGet() -> RouteHandlerBuilder
    • MapPatch() -> RouteHandlerBuilder
    • MapPost() -> RouteHandlerBuilder
    • MapPut(string pattern, RequestDelegate requestDelegate) -> IEndpointConventionBuilder
    • MapPut(string template, Delegate handler) -> RouteHandlerBuilder
    • MapDelete(string pattern, RequestDelegate requestDelegate) -> IEndpointConventionBuilder
    • MapDelete(string template, Delegate handler) -> RouteHandlerBuilder
    • MapMethods() -> IEndpointConventionBuilder
    • MapFallback()
  • IEndpointConventionBuilder Used to modify an endpoint definition
    • Add(Action<EndpointBuilder> convention) -> void
    • ReuireAuthorization() -> TBuilder
    • RequireHost() -> TBuilder
    • ReuireCors() -> TBuilder
    • WithDisplayName() -> TBuilder
    • WithGroupName() -> TBuilder
    • WithMetadata() -> TBuilder
    • WithName() -> TBuilder
  • IHubConventionBuilder : IEndpointConventionBuilder SignalR Hub specific endpoint convention builder
  • WebApplication : IApplicationBuilder, IEndpointRouteBuilder Top-level concrete class for configuring application middleware & endpoints & starting the app
  • RouteHandlerBuilder : IEndpointConventionBuilder Concrete endpoint builder for minimal API route handlers
    • ExcludeFromDescription() -> RouteHandlerBuilder
    • WithDescription() -> RouteHandlerBuilder
    • WithSummary() -> RouteHandlerBuilder
    • WithTags() -> RouteHandlerBuilder
    • WithOpenApi() -> RouteHandlerBuilder
    • AddFilter() -> RouteHandlerBuilder
    • Accepts() -> RouteHandlerBuilder
    • Produces() -> RouteHandlerBuilder
  • GroupRouteBuilder : IEndpointRouteBuilder, IEndpointConventionBuilder
  • HubEndpointConventionBuilder : IHubEndpointConventionBuilder
  • ComponentEndpointConventionBuilder : IHubEndpointConventionBuilder
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment