Class RouterBuilderValueParserExtensions

Provides convenience methods for registering value parsers.

Inheritance
object
RouterBuilderValueParserExtensions
Inherited Members
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: NanoRoute
Assembly: NanoRoute.dll
Syntax
public static class RouterBuilderValueParserExtensions

Methods

AddBoolParser<TBuilder>(TBuilder)

Registers the built-in bool value parser.

Declaration
public static TBuilder AddBoolParser<TBuilder>(this TBuilder routeBuilder) where TBuilder : notnull, RouteBuilder
Parameters
Type Name Description
TBuilder routeBuilder
Returns
Type Description
TBuilder

The current routeBuilder instance.

Type Parameters
Name Description
TBuilder
Remarks

This parser does not support any arguments.

AddDefaultValueParsers<TBuilder>(TBuilder)

Registers the built-in value parsers for common scalar route segments.

Declaration
public static TBuilder AddDefaultValueParsers<TBuilder>(this TBuilder routeBuilder) where TBuilder : notnull, RouteBuilder
Parameters
Type Name Description
TBuilder routeBuilder
Returns
Type Description
TBuilder

The current routeBuilder instance.

Type Parameters
Name Description
TBuilder
Remarks

This convenience method registers parsers named int, guid, bool, and str. Existing registrations with the same names are overwritten.

Examples
builder
    .AddDefaultValueParsers()
    .AddHandler("GET", "/users/{id:int}", (context, next) => Results.Ok(context.Parameters["id"]));
Exceptions
Type Condition
ArgumentNullException

Thrown when routeBuilder is null.

AddGuidParser<TBuilder>(TBuilder)

Registers the built-in guid value parser.

Declaration
public static TBuilder AddGuidParser<TBuilder>(this TBuilder routeBuilder) where TBuilder : notnull, RouteBuilder
Parameters
Type Name Description
TBuilder routeBuilder
Returns
Type Description
TBuilder

The current routeBuilder instance.

Type Parameters
Name Description
TBuilder
Remarks

This parser does not support any arguments.

AddIntParser<TBuilder>(TBuilder)

Registers the built-in int value parser.

Declaration
public static TBuilder AddIntParser<TBuilder>(this TBuilder routeBuilder) where TBuilder : notnull, RouteBuilder
Parameters
Type Name Description
TBuilder routeBuilder
Returns
Type Description
TBuilder

The current routeBuilder instance.

Type Parameters
Name Description
TBuilder
Remarks

Supported arguments: min, max.

AddStringParser<TBuilder>(TBuilder)

Registers the built-in str value parser.

Declaration
public static TBuilder AddStringParser<TBuilder>(this TBuilder routeBuilder) where TBuilder : notnull, RouteBuilder
Parameters
Type Name Description
TBuilder routeBuilder
Returns
Type Description
TBuilder

The current routeBuilder instance.

Type Parameters
Name Description
TBuilder
Remarks

Supported arguments: min, max, pattern.

AddValueParser<TBuilder>(TBuilder, string, BindArgumentsDelegate, SyncValueParserDelegate)

Registers a synchronous parser by adapting it to ValueParserDelegate and binding parser arguments once during route registration.

Declaration
public static TBuilder AddValueParser<TBuilder>(this TBuilder routeBuilder, string parserName, BindArgumentsDelegate bindArguments, SyncValueParserDelegate tryParseDelegate) where TBuilder : notnull, RouteBuilder
Parameters
Type Name Description
TBuilder routeBuilder
string parserName

The name used in route patterns such as {id:int(min=1)}.

BindArgumentsDelegate bindArguments

Converts raw parser arguments into typed values once per route-template branch.

SyncValueParserDelegate tryParseDelegate

The synchronous parser to adapt.

Returns
Type Description
TBuilder

The current routeBuilder instance.

Type Parameters
Name Description
TBuilder

AddValueParser<TBuilder>(TBuilder, string, BindArgumentsDelegate, ValueParserDelegate)

Registers an asynchronous parser and binds parser arguments once during route registration.

Declaration
public static TBuilder AddValueParser<TBuilder>(this TBuilder routeBuilder, string parserName, BindArgumentsDelegate bindArguments, ValueParserDelegate tryParseDelegate) where TBuilder : notnull, RouteBuilder
Parameters
Type Name Description
TBuilder routeBuilder
string parserName

The name used in route patterns such as {id:user(scope='admins')}.

BindArgumentsDelegate bindArguments

Converts raw parser arguments into a parser-specific payload.

ValueParserDelegate tryParseDelegate

The asynchronous parser to register.

Returns
Type Description
TBuilder

The current routeBuilder instance.

Type Parameters
Name Description
TBuilder

AddValueParser<TBuilder>(TBuilder, string, SyncValueParserDelegate)

Registers a synchronous parser by adapting it to ValueParserDelegate.

Declaration
public static TBuilder AddValueParser<TBuilder>(this TBuilder routeBuilder, string parserName, SyncValueParserDelegate tryParseDelegate) where TBuilder : notnull, RouteBuilder
Parameters
Type Name Description
TBuilder routeBuilder
string parserName

The name used in route patterns such as {id:int}.

SyncValueParserDelegate tryParseDelegate

The synchronous parser to adapt.

Returns
Type Description
TBuilder

The current routeBuilder instance.

Type Parameters
Name Description
TBuilder

AddValueParser<TBuilder>(TBuilder, string, ValueParserDelegate)

Registers an asynchronous parser without route-template arguments.

Declaration
public static TBuilder AddValueParser<TBuilder>(this TBuilder routeBuilder, string parserName, ValueParserDelegate tryParseDelegate) where TBuilder : notnull, RouteBuilder
Parameters
Type Name Description
TBuilder routeBuilder
string parserName

The name used in route patterns such as {id:user}.

ValueParserDelegate tryParseDelegate

The asynchronous parser to register.

Returns
Type Description
TBuilder

The current routeBuilder instance.

Type Parameters
Name Description
TBuilder
In this article
Back to top Generated by DocFX