Class SeltzrOptionsBuilder<TModel, TUser>
Builder for SeltzrOptions<TModel, TUser>
Inheritance
Namespace: Seltzr.Options.Builder
Assembly: Seltzr.dll
Syntax
public class SeltzrOptionsBuilder<TModel, TUser> : SeltzrOptionsBuilderBase where TModel : class where TUser : class
Type Parameters
TModel
The model type that the API is being built for
TUser
The type of authenticated user context
Constructors
Initializes a new instance of the SeltzrOptionsBuilder<TModel, TUser> class.
public SeltzrOptionsBuilder(SeltzrOptions<TModel, TUser> existing = null)
Parameters
existing
SeltzrOptions<TModel, TUser>
Starting options for this builder
Initializes a new instance of the SeltzrOptionsBuilder<TModel, TUser> class.
public SeltzrOptionsBuilder(string baseRoute, Action<IEndpointConventionBuilder> routeOptionsHandler)
Parameters
baseRoute
String
The base route for these options
routeOptionsHandler
Action<IEndpointConventionBuilder>
ASP.NET core specific route options
Properties
Gets the route pattern for this builder
public string RoutePattern { get; }
Property Value
StringMethods
Sets whether or not to accept arrays of TModel
as the request body
public SeltzrOptionsBuilder<TModel, TUser> AcceptArrays(bool accept = true)
Parameters
accept
Boolean
A value indicating whether or not to accept arrays as the request body
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an auth provider to this route
public SeltzrOptionsBuilder<TModel, TUser> AddAuthProvider(IAuthProvider<TModel, TUser> authProvider)
Parameters
authProvider
IAuthProvider<TModel, TUser>
The auth provider to add
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an auth provider to this route
public SeltzrOptionsBuilder<TModel, TUser> AddAuthProvider<TProvider>()
where TProvider : IAuthProvider<TModel, TUser>, new()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TProvider
The type of auth provider to add
Adds a body parser to this route
public SeltzrOptionsBuilder<TModel, TUser> AddBodyParser(IBodyParser<TModel> bodyParser)
Parameters
bodyParser
IBodyParser<TModel>
The body parser to add
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds a new body parser to this route
public SeltzrOptionsBuilder<TModel, TUser> AddBodyParser<TParser>()
where TParser : IBodyParser<TModel>, new()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TParser
The type of body parser to add
Adds a condition to this route, which much be met for the request to succeed
public SeltzrOptionsBuilder<TModel, TUser> AddCondition(ICondition<TModel, TUser> condition)
Parameters
condition
ICondition<TModel, TUser>
The condition to add
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds a condition to this route, which much be met for the request to succeed
public SeltzrOptionsBuilder<TModel, TUser> AddCondition<TCondition>()
where TCondition : ICondition<TModel, TUser>, new()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TCondition
The type of the condition to add
Adds an exception handler to this route
public SeltzrOptionsBuilder<TModel, TUser> AddExceptionHandler(IExceptionHandler exceptionHandler)
Parameters
exceptionHandler
IExceptionHandler
The exception handler to add
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an exception handler to this route
public SeltzrOptionsBuilder<TModel, TUser> AddExceptionHandler<THandler>()
where THandler : IExceptionHandler, new()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
THandler
The type of exception handler to add
Adds a filter to this route, which will filter the dataset retrieved
public SeltzrOptionsBuilder<TModel, TUser> AddFilter(IFilter<TModel, TUser> filter)
Parameters
filter
IFilter<TModel, TUser>
The filter to add
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds a filter to this route, which will filter the dataset retrieved
public SeltzrOptionsBuilder<TModel, TUser> AddFilter<TFilter>()
where TFilter : IFilter<TModel, TUser>, new()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TFilter
The type of the filter to add
Adds a post-operation action to this route
public SeltzrOptionsBuilder<TModel, TUser> AddPostOpAction(IPostOpAction<TModel, TUser> action)
Parameters
action
IPostOpAction<TModel, TUser>
The post-op action to add
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Remarks
This action will be run after every operation and can be used to log data, notify other parts of the app, or modify the HTTP response
Note that if you would like to omit/include properties from the API response or set response parameters, use the Omit(Expression<Func<TModel, Object>>), Include(Expression<Func<TModel, Object>>), and WriteResponseValue(String, Object) methods respectively.
Adds a post-operation action to this route
public SeltzrOptionsBuilder<TModel, TUser> AddPostOpAction<TAction>()
where TAction : IPostOpAction<TModel, TUser>, new()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TAction
The type of post-op action to add
Remarks
This action will be run after every operation and can be used to log data, notify other parts of the app, or modify the HTTP response
Note that if you would like to omit/include properties from the API response or set response parameters, use the Omit(Expression<Func<TModel, Object>>), Include(Expression<Func<TModel, Object>>), and WriteResponseValue(String, Object) methods respectively.
Adds a pre-operation action to this route
public SeltzrOptionsBuilder<TModel, TUser> AddPreOpAction(IPreOpAction<TModel, TUser> action)
Parameters
action
IPreOpAction<TModel, TUser>
The pre-op action to add
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds a pre-operation action to this route
public SeltzrOptionsBuilder<TModel, TUser> AddPreOpAction<TAction>()
where TAction : IPreOpAction<TModel, TUser>, new()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TAction
The type of pre-op action to add
Adds a request method that this route supports
public SeltzrOptionsBuilder<TModel, TUser> AddRequestMethod(string requestMethod)
Parameters
requestMethod
String
The request method to add
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds a post-operation action to this route that will run after the operation is executed
public SeltzrOptionsBuilder<TModel, TUser> After(Action<IApiContext<TModel, TUser>, IEnumerable<TModel>> handler)
Parameters
handler
Action<IApiContext<TModel, TUser>, IEnumerable<TModel>>
The action to run after the operation, which will be passed the current API context and operation result
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Remarks
This action will be run after every operation and can be used to log data, notify other parts of the app, or modify the HTTP response
Note that if you would like to omit/include properties from the API response or set response parameters, use the Omit(Expression<Func<TModel, Object>>) , Include(Expression<Func<TModel, Object>>), and WriteResponseValue(String, Object) methods respectively.
AfterAsync(Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, Task>)
Adds a post-operation action to this route that will run after the operation is executed
public SeltzrOptionsBuilder<TModel, TUser> AfterAsync(Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, Task> handler)
Parameters
handler
Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, Task>
The action to run after the operation, which will be passed the current API context and operation result
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Remarks
This action will be run after every operation and can be used to log data, notify other parts of the app, or modify the HTTP response
Note that if you would like to omit/include properties from the API response or set response parameters, use the Omit(Expression<Func<TModel, Object>>), Include(Expression<Func<TModel, Object>>), and WriteResponseValue(String, Object) methods respectively.
Adds an auth provider to this route that authenticates using a delegate
public SeltzrOptionsBuilder<TModel, TUser> Auth(Func<IApiContext<TModel, TUser>, TUser> handler)
Parameters
handler
Func<IApiContext<TModel, TUser>, TUser>
The handler which, when given the API request context, will return a user context or throw if authentication fails
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an auth provider to this route that authenticates with ASP.NET Core's Identity system
public SeltzrOptionsBuilder<TModel, TUser> AuthAspNetIdentity()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an auth provider to this route that authenticates with ASP.NET Core's Identity system
public SeltzrOptionsBuilder<TModel, TUser> AuthAspNetIdentity(string policy, params string[] roles)
Parameters
policy
String
The policy that the user must fulfill for auth to succeed
roles
String[]
The roles that the user must be in for auth to succeed
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an auth provider to this route that authenticates with ASP.NET Core's Identity system, requiring that the user fulfill certain roles for auth to succeed
public SeltzrOptionsBuilder<TModel, TUser> AuthAspNetIdentityRole(params string[] roles)
Parameters
roles
String[]
The roles that the user must be in for auth to succeed
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an auth provider to this route that authenticates using a delegate
public SeltzrOptionsBuilder<TModel, TUser> AuthAsync(Func<IApiContext<TModel, TUser>, Task<TUser>> handler)
Parameters
handler
Func<IApiContext<TModel, TUser>, Task<TUser>>
The handler which, when given the API request context, will return a user context or throw if authentication fails
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an auth provider to this route that authenticates with basic auth
public SeltzrOptionsBuilder<TModel, TUser> AuthBasic(Func<string, string, TUser> handler)
Parameters
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an auth provider to this route that authenticates with basic auth
public SeltzrOptionsBuilder<TModel, TUser> AuthBasicAsync(Func<string, string, Task<TUser>> handler)
Parameters
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an auth provider to this route that authenticates with a header value
public SeltzrOptionsBuilder<TModel, TUser> AuthHeader(string headerName, Func<string, TUser> handler)
Parameters
headerName
String
The name of the header to authenticate with
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an auth provider to this route that authenticates with a header value
public SeltzrOptionsBuilder<TModel, TUser> AuthHeaderAsync(string headerName, Func<string, Task<TUser>> handler)
Parameters
headerName
String
The name of the header to authenticate with
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an auth provider to this route that authenticates with a query parameter
public SeltzrOptionsBuilder<TModel, TUser> AuthQuery(string parameterName, Func<string, TUser> handler)
Parameters
parameterName
String
The name of the parameter to authenticate with
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an auth provider to this route that authenticates with a query parameter
public SeltzrOptionsBuilder<TModel, TUser> AuthQueryAsync(string parameterName, Func<string, Task<TUser>> handler)
Parameters
parameterName
String
The name of the parameter to authenticate with
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds a pre-operation action to this route that will run before the operation is executed
public SeltzrOptionsBuilder<TModel, TUser> Before(Action<IApiContext<TModel, TUser>, IQueryable<TModel>> handler)
Parameters
handler
Action<IApiContext<TModel, TUser>, IQueryable<TModel>>
The action to run before the operation, which will be passed the current API context and model dataset
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
BeforeAsync(Func<IApiContext<TModel, TUser>, IQueryable<TModel>, Task>)
Adds a pre-operation action to this route that will run before the operation is executed
public SeltzrOptionsBuilder<TModel, TUser> BeforeAsync(Func<IApiContext<TModel, TUser>, IQueryable<TModel>, Task> handler)
Parameters
handler
Func<IApiContext<TModel, TUser>, IQueryable<TModel>, Task>
The action to run before the operation, which will be passed the current API context and model dataset
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Builds these options and all of this builder's child options. Not intended for application use.
public Dictionary<string, List<SeltzrOptions<TModel, TUser>>> BuildAll()
Returns
Dictionary<String, List<SeltzrOptions<TModel, TUser>>>
A list of all of the options created by this builder, including its own, in the order they were added, keyed to the route it's for
Indicates that this route accepts DELETE requests
public SeltzrOptionsBuilder<TModel, TUser> CanDelete()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Indicates that this route accepts GET requests
public SeltzrOptionsBuilder<TModel, TUser> CanGet()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Indicates that this route accepts PATCH requests
public SeltzrOptionsBuilder<TModel, TUser> CanPatch()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Indicates that this route accepts POST requests
public SeltzrOptionsBuilder<TModel, TUser> CanPost()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Indicates that this route accepts PUT requests
public SeltzrOptionsBuilder<TModel, TUser> CanPut()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an exception handler to this route that handles all exceptions
public SeltzrOptionsBuilder<TModel, TUser> Catch(Action<Exception, HttpContext> handler)
Parameters
handler
Action<Exception, HttpContext>
The handler to use for a thrown exception
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an exception handler to this route that handles all exceptions
public SeltzrOptionsBuilder<TModel, TUser> Catch(Action<Exception> handler)
Parameters
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an exception handler to this route that handles all exceptions
public SeltzrOptionsBuilder<TModel, TUser> Catch(Func<Exception, HttpContext, bool?> handler)
Parameters
handler
Func<Exception, HttpContext, Nullable<Boolean>>
The handler to use for a thrown exception
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an exception handler to this route that handles all exceptions
public SeltzrOptionsBuilder<TModel, TUser> Catch(Func<Exception, bool?> handler)
Parameters
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an exception handler to this route that handles a specific type of exception
public SeltzrOptionsBuilder<TModel, TUser> Catch<TException>(IExceptionHandler handler)
where TException : Exception
Parameters
handler
IExceptionHandler
The exception handler that can handle exceptions of type TException
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TException
The type of exception that this handler will be called for
Adds an exception handler to this route that handles a specific type of exception
public SeltzrOptionsBuilder<TModel, TUser> Catch<TException>(Action<Exception, HttpContext> handler)
where TException : Exception
Parameters
handler
Action<Exception, HttpContext>
The handler to use for a thrown exception
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TException
The type of exception that this handler will be called for
Adds an exception handler to this route that handles a specific type of exception
public SeltzrOptionsBuilder<TModel, TUser> Catch<TException>(Action<Exception> handler)
where TException : Exception
Parameters
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TException
The type of exception that this handler will be called for
Adds an exception handler to this route that handles a specific type of exception
public SeltzrOptionsBuilder<TModel, TUser> Catch<TException>(Func<Exception, HttpContext, bool?> handler)
where TException : Exception
Parameters
handler
Func<Exception, HttpContext, Nullable<Boolean>>
The handler to use for a thrown exception
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TException
The type of exception that this handler will be called for
Adds an exception handler to this route that handles a specific type of exception
public SeltzrOptionsBuilder<TModel, TUser> Catch<TException>(Func<Exception, bool?> handler)
where TException : Exception
Parameters
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TException
The type of exception that this handler will be called for
CatchAsync(Func<Exception, HttpContext, Boolean, Task<Nullable<Boolean>>>)
Adds an exception handler to this route that handles all exceptions
public SeltzrOptionsBuilder<TModel, TUser> CatchAsync(Func<Exception, HttpContext, bool, Task<bool?>> handler)
Parameters
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an exception handler to this route that handles all exceptions
public SeltzrOptionsBuilder<TModel, TUser> CatchAsync(Func<Exception, HttpContext, Task<bool?>> handler)
Parameters
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an exception handler to this route that handles all exceptions
public SeltzrOptionsBuilder<TModel, TUser> CatchAsync(Func<Exception, HttpContext, Task> handler)
Parameters
handler
Func<Exception, HttpContext, Task>
The handler to use for a thrown exception
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an exception handler to this route that handles all exceptions
public SeltzrOptionsBuilder<TModel, TUser> CatchAsync(Func<Exception, Task<bool?>> handler)
Parameters
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds an exception handler to this route that handles all exceptions
public SeltzrOptionsBuilder<TModel, TUser> CatchAsync(Func<Exception, Task> handler)
Parameters
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
CatchAsync<TException>(Func<Exception, HttpContext, Boolean, Task<Nullable<Boolean>>>)
Adds an exception handler to this route that handles a specific type of exception
public SeltzrOptionsBuilder<TModel, TUser> CatchAsync<TException>(Func<Exception, HttpContext, bool, Task<bool?>> handler)
where TException : Exception
Parameters
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TException
The type of exception that this handler will be called for
CatchAsync<TException>(Func<Exception, HttpContext, Task<Nullable<Boolean>>>)
Adds an exception handler to this route that handles a specific type of exception
public SeltzrOptionsBuilder<TModel, TUser> CatchAsync<TException>(Func<Exception, HttpContext, Task<bool?>> handler)
where TException : Exception
Parameters
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TException
The type of exception that this handler will be called for
Adds an exception handler to this route that handles a specific type of exception
public SeltzrOptionsBuilder<TModel, TUser> CatchAsync<TException>(Func<Exception, HttpContext, Task> handler)
where TException : Exception
Parameters
handler
Func<Exception, HttpContext, Task>
The handler to use for a thrown exception
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TException
The type of exception that this handler will be called for
Adds an exception handler to this route that handles a specific type of exception
public SeltzrOptionsBuilder<TModel, TUser> CatchAsync<TException>(Func<Exception, Task<bool?>> handler)
where TException : Exception
Parameters
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TException
The type of exception that this handler will be called for
Adds an exception handler to this route that handles a specific type of exception
public SeltzrOptionsBuilder<TModel, TUser> CatchAsync<TException>(Func<Exception, Task> handler)
where TException : Exception
Parameters
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TException
The type of exception that this handler will be called for
Sets this route up to catch exceptions, writing the exception message to the response body
public SeltzrOptionsBuilder<TModel, TUser> CatchExceptions(bool isDevelopment = false)
Parameters
isDevelopment
Boolean
true if the app is in a development environment, false otherwise
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Clears all of the auth providers registered for this SeltzrOptionsBuilder<TModel, TUser>
public SeltzrOptionsBuilder<TModel, TUser> ClearAuthProviders()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Clears all of the body parsers registered for this SeltzrOptionsBuilder<TModel, TUser>
public SeltzrOptionsBuilder<TModel, TUser> ClearBodyParsers()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Clears all of the conditions registered for this SeltzrOptionsBuilder<TModel, TUser>
public SeltzrOptionsBuilder<TModel, TUser> ClearConditions()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Clears all of the exception handlers registered for this SeltzrOptionsBuilder<TModel, TUser>
public SeltzrOptionsBuilder<TModel, TUser> ClearExceptionHandlers()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Clears all of the filters registered for this SeltzrOptionsBuilder<TModel, TUser>
public SeltzrOptionsBuilder<TModel, TUser> ClearFilters()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Clears the operation registered for this SeltzrOptionsBuilder<TModel, TUser>
public SeltzrOptionsBuilder<TModel, TUser> ClearOperation()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Clears all of the post-operation actions registered for this SeltzrOptionsBuilder<TModel, TUser>
public SeltzrOptionsBuilder<TModel, TUser> ClearPostOpActions()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Clears all of the pre-operation actions registered for this SeltzrOptionsBuilder<TModel, TUser>
public SeltzrOptionsBuilder<TModel, TUser> ClearPreOpActions()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Clears all of the request methods registered for this SeltzrOptionsBuilder<TModel, TUser>
public SeltzrOptionsBuilder<TModel, TUser> ClearRequestMethods()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Clears the result writer registered for this SeltzrOptionsBuilder<TModel, TUser>
public SeltzrOptionsBuilder<TModel, TUser> ClearResultWriter()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Creates a child instance of the SeltzrOptionsBuilder<TModel, TUser> type sharing the given base options. When overriden in a derived class, this method can be used to ensure that the entire tree of SeltzrOptionsBuilder<TModel, TUser> objects share the same derived type
public virtual SeltzrOptionsBuilder<TModel, TUser> CreateChild(SeltzrOptions<TModel, TUser> baseOptions)
Parameters
baseOptions
SeltzrOptions<TModel, TUser>
The base options for the new instance
Returns
SeltzrOptionsBuilder<TModel, TUser>
The new SeltzrOptionsBuilder<TModel, TUser> instance
Sets a default value for a property of the TModel
parsed from the request body
public SeltzrOptionsBuilder<TModel, TUser> Default<TProperty>(Expression<Func<TModel, TProperty>> propertyExpression, TProperty defaultValue)
Parameters
propertyExpression
Expression<Func<TModel, TProperty>>
An expression that returns the property to set a default for
defaultValue
TProperty
The default value for the property defined by propertyExpression
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TProperty
The type of the property for to set the default for
Default<TProperty>(Expression<Func<TModel, TProperty>>, Func<TProperty>)
Sets a default value for a property of the TModel
parsed from the request body
public SeltzrOptionsBuilder<TModel, TUser> Default<TProperty>(Expression<Func<TModel, TProperty>> propertyExpression, Func<TProperty> defaultValue)
Parameters
propertyExpression
Expression<Func<TModel, TProperty>>
An expression that returns the property to set a default for
defaultValue
Func<TProperty>
A delegate that will retrieve the default value for the property defined by
propertyExpression
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TProperty
The type of the property for to set the default for
Sets a default value for a property of the TModel
parsed from the request body
public SeltzrOptionsBuilder<TModel, TUser> Default<TProperty>(PropertyInfo property, Func<TProperty> defaultValue)
Parameters
property
PropertyInfo
The property to set the default for
defaultValue
Func<TProperty>
A delegate that will retrieve the default value for the given property
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TProperty
The type of the property for to set the default for
Sets the response value defined by the DeprecationNoticeAttribute to the given deprecation message, or a boilerplate one if none is specified.
public SeltzrOptionsBuilder<TModel, TUser> Deprecate(string message)
Parameters
message
String
The deprecation message to display to API consumers
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets this route up to halt request execution if authentication fails
public SeltzrOptionsBuilder<TModel, TUser> FailOnInvalidAuth()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Retrieves the entire dataset from the IQueryable<T> provided by a IModelProvider<TModel, TUser>. Enables client-side evaluation for logic impossible to translate to a query.
public SeltzrOptionsBuilder<TModel, TUser> FetchModels()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Remarks
Use this method wisely. It can cause a significant performance impact if not only used when absolutely necessary.
Filter(Func<IApiContext<TModel, TUser>, IQueryable<TModel>, IQueryable<TModel>>)
Adds a filter to this route that will filter the dataset to operate on using the given delegate
public SeltzrOptionsBuilder<TModel, TUser> Filter(Func<IApiContext<TModel, TUser>, IQueryable<TModel>, IQueryable<TModel>> filter)
Parameters
filter
Func<IApiContext<TModel, TUser>, IQueryable<TModel>, IQueryable<TModel>>
The delegate to use to filter results
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds a filter to this route that will filter the dataset to operate on using the given delegate
public SeltzrOptionsBuilder<TModel, TUser> Filter(Func<IQueryable<TModel>, IQueryable<TModel>> filter)
Parameters
filter
Func<IQueryable<TModel>, IQueryable<TModel>>
The delegate to use to filter results
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
FilterAsync(Func<IApiContext<TModel, TUser>, IQueryable<TModel>, Task<IQueryable<TModel>>>)
Adds a filter to this route that will filter the dataset to operate on using the given delegate
public SeltzrOptionsBuilder<TModel, TUser> FilterAsync(Func<IApiContext<TModel, TUser>, IQueryable<TModel>, Task<IQueryable<TModel>>> filter)
Parameters
filter
Func<IApiContext<TModel, TUser>, IQueryable<TModel>, Task<IQueryable<TModel>>>
The delegate to use to filter results
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds a filter to this route that will filter the dataset to operate on using the given delegate
public SeltzrOptionsBuilder<TModel, TUser> FilterAsync(Func<IQueryable<TModel>, Task<IQueryable<TModel>>> filter)
Parameters
filter
Func<IQueryable<TModel>, Task<IQueryable<TModel>>>
The delegate to use to filter results
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
FilterByParameter<T>(Expression<Func<TModel, T>>, ParameterRetriever, Expression<Func<T, T, Boolean>>)
Filters this route's dataset by a parameter value
public SeltzrOptionsBuilder<TModel, TUser> FilterByParameter<T>(Expression<Func<TModel, T>> property, ParameterRetriever retriever, Expression<Func<T, T, bool>> comparer)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
retriever
ParameterRetriever
A function that will get the value of the parameter for a given request
comparer
Expression<Func<T, T, Boolean>>
A method which is passed the property value and parsed parameter value, and returns a boolean value indicating whether to include the model in the dataset or not
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
FilterByParameterEqual<T>(Expression<Func<TModel, T>>, ParameterRetriever)
Filters this route's dataset by comparing a given property to a parameter value and comparing the two for equality
public SeltzrOptionsBuilder<TModel, TUser> FilterByParameterEqual<T>(Expression<Func<TModel, T>> property, ParameterRetriever retriever)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
retriever
ParameterRetriever
A function that will get the value of the parameter for a given request
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
FilterByParameterEqualOpt<T>(Expression<Func<TModel, T>>, ParameterRetriever)
Filters this route's dataset by comparing a given property to a parameter value and comparing the two for equality only if the parameter is present on the request
public SeltzrOptionsBuilder<TModel, TUser> FilterByParameterEqualOpt<T>(Expression<Func<TModel, T>> property, ParameterRetriever retriever)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
retriever
ParameterRetriever
A function that will get the value of the parameter for a given request
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
FilterByParameterOpt<T>(Expression<Func<TModel, T>>, ParameterRetriever, Expression<Func<T, T, Boolean>>)
Filters this route's dataset by a parameter value only if the parameter is present on the request.
public SeltzrOptionsBuilder<TModel, TUser> FilterByParameterOpt<T>(Expression<Func<TModel, T>> property, ParameterRetriever retriever, Expression<Func<T, T, bool>> comparer)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
retriever
ParameterRetriever
A function that will get the value of the parameter for a given request
comparer
Expression<Func<T, T, Boolean>>
A method which is passed the property value and parsed parameter value, and returns a boolean value indicating whether to include the model in the dataset or not
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
FilterByQuery<T>(Expression<Func<TModel, T>>, Expression<Func<T, T, Boolean>>)
Filters this route's dataset by a query parameter value. The name of the query parameter is inferred to be a camelCased version of the C# property name.
public SeltzrOptionsBuilder<TModel, TUser> FilterByQuery<T>(Expression<Func<TModel, T>> property, Expression<Func<T, T, bool>> comparer)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
comparer
Expression<Func<T, T, Boolean>>
A method which is passed the property value and parsed parameter value, and returns a boolean value indicating whether to include the model in the dataset or not
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
FilterByQuery<T>(Expression<Func<TModel, T>>, String, Expression<Func<T, T, Boolean>>)
Filters this route's dataset by a query parameter value
public SeltzrOptionsBuilder<TModel, TUser> FilterByQuery<T>(Expression<Func<TModel, T>> property, string queryParameterName, Expression<Func<T, T, bool>> comparer)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
queryParameterName
String
The name of the query parameter whose value to compare with the value of
property
on the dataset's TModel
objects
comparer
Expression<Func<T, T, Boolean>>
A method which is passed the property value and parsed parameter value, and returns a boolean value indicating whether to include the model in the dataset or not
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
Filters this route's dataset by a query parameter value. The name of the query parameter is inferred to be a camelCased version of the C# property name.
public SeltzrOptionsBuilder<TModel, TUser> FilterByQueryEqual<T>(Expression<Func<TModel, T>> property)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
Filters this route's dataset by a query parameter value
public SeltzrOptionsBuilder<TModel, TUser> FilterByQueryEqual<T>(Expression<Func<TModel, T>> property, string queryParameterName)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
queryParameterName
String
The name of the query parameter whose value to compare with the value of
property
on the dataset's TModel
objects
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
Filters this route's dataset by a query parameter value only if the parameter is present on the request. The name of the query parameter is inferred to be a camelCased version of the C# property name.
public SeltzrOptionsBuilder<TModel, TUser> FilterByQueryEqualOpt<T>(Expression<Func<TModel, T>> property)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
Filters this route's dataset by a query parameter value only if the parameter is present on the request
public SeltzrOptionsBuilder<TModel, TUser> FilterByQueryEqualOpt<T>(Expression<Func<TModel, T>> property, string queryParameterName)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
queryParameterName
String
The name of the query parameter whose value to compare with the value of
property
on the dataset's TModel
objects
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
FilterByQueryOpt<T>(Expression<Func<TModel, T>>, Expression<Func<T, T, Boolean>>)
Filters this route's dataset by a query parameter value only if the parameter is present on the request. The name of the query parameter is inferred to be a camelCased version of the C# property name.
public SeltzrOptionsBuilder<TModel, TUser> FilterByQueryOpt<T>(Expression<Func<TModel, T>> property, Expression<Func<T, T, bool>> comparer)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
comparer
Expression<Func<T, T, Boolean>>
A method which is passed the property value and parsed parameter value, and returns a boolean value indicating whether to include the model in the dataset or not
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
FilterByQueryOpt<T>(Expression<Func<TModel, T>>, String, Expression<Func<T, T, Boolean>>)
Filters this route's dataset by a query parameter value only if the parameter is present on the request
public SeltzrOptionsBuilder<TModel, TUser> FilterByQueryOpt<T>(Expression<Func<TModel, T>> property, string queryParameterName, Expression<Func<T, T, bool>> comparer)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
queryParameterName
String
The name of the query parameter whose value to compare with the value of
property
on the dataset's TModel
objects
comparer
Expression<Func<T, T, Boolean>>
A method which is passed the property value and parsed parameter value, and returns a boolean value indicating whether to include the model in the dataset or not
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
FilterByRoute<T>(Expression<Func<TModel, T>>, Expression<Func<T, T, Boolean>>)
Filters this route's dataset by a route value. The name of the route value is inferred to be a camelCased version of the C# property name.
public SeltzrOptionsBuilder<TModel, TUser> FilterByRoute<T>(Expression<Func<TModel, T>> property, Expression<Func<T, T, bool>> comparer)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
comparer
Expression<Func<T, T, Boolean>>
A method which is passed the property value and parsed parameter value, and returns a boolean value indicating whether to include the model in the dataset or not
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
FilterByRoute<T>(Expression<Func<TModel, T>>, String, Expression<Func<T, T, Boolean>>)
Filters this route's dataset by a route value.
public SeltzrOptionsBuilder<TModel, TUser> FilterByRoute<T>(Expression<Func<TModel, T>> property, string routeValueName, Expression<Func<T, T, bool>> comparer)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
routeValueName
String
The name of the route value to filter by
comparer
Expression<Func<T, T, Boolean>>
A method which is passed the property value and parsed parameter value, and returns a boolean value indicating whether to include the model in the dataset or not
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
Filters this route's dataset by a route parameter value. The name of the route value is inferred to be a camelCased version of the C# property name.
public SeltzrOptionsBuilder<TModel, TUser> FilterByRouteEqual<T>(Expression<Func<TModel, T>> property)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
Filters this route's dataset by a route parameter value
public SeltzrOptionsBuilder<TModel, TUser> FilterByRouteEqual<T>(Expression<Func<TModel, T>> property, string routeValueName)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
routeValueName
String
The name of the route parameter whose value to compare with the value of
property
on the dataset's TModel
objects
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
Filters this route's dataset by a route parameter value only if the parameter is present on the request. The name of the route value is inferred to be a camelCased version of the C# property name.
public SeltzrOptionsBuilder<TModel, TUser> FilterByRouteEqualOpt<T>(Expression<Func<TModel, T>> property)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
Filters this route's dataset by a route parameter value only if the parameter is present on the request
public SeltzrOptionsBuilder<TModel, TUser> FilterByRouteEqualOpt<T>(Expression<Func<TModel, T>> property, string routeValueName)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
routeValueName
String
The name of the route parameter whose value to compare with the value of
property
on the dataset's TModel
objects
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
FilterByRouteOpt<T>(Expression<Func<TModel, T>>, Expression<Func<T, T, Boolean>>)
Filters this route's dataset by a route value only if the parameter is present on the request. The name of the route value is inferred to be a camelCased version of the C# property name.
public SeltzrOptionsBuilder<TModel, TUser> FilterByRouteOpt<T>(Expression<Func<TModel, T>> property, Expression<Func<T, T, bool>> comparer)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
comparer
Expression<Func<T, T, Boolean>>
A method which is passed the property value and parsed parameter value, and returns a boolean value indicating whether to include the model in the dataset or not
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
FilterByRouteOpt<T>(Expression<Func<TModel, T>>, String, Expression<Func<T, T, Boolean>>)
Filters this route's dataset by a route value only if the parameter is present on the request.
public SeltzrOptionsBuilder<TModel, TUser> FilterByRouteOpt<T>(Expression<Func<TModel, T>> property, string routeValueName, Expression<Func<T, T, bool>> comparer)
Parameters
property
Expression<Func<TModel, T>>
An expression getting the property to filter for
routeValueName
String
The name of the route value to filter by
comparer
Expression<Func<T, T, Boolean>>
A method which is passed the property value and parsed parameter value, and returns a boolean value indicating whether to include the model in the dataset or not
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type of the parameter to filter with
Filters this route's dataset only including the elements that match the predicate
public SeltzrOptionsBuilder<TModel, TUser> FilterWhere(Expression<Func<TModel, bool>> predicate)
Parameters
predicate
Expression<Func<TModel, Boolean>>
The predicate to use to determine if an element should be included in the dataset or not
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
FilterWhere(Expression<Func<IApiContext<TModel, TUser>, TModel, Boolean>>)
Filters this route's dataset only including the elements that match the predicate
public SeltzrOptionsBuilder<TModel, TUser> FilterWhere(Expression<Func<IApiContext<TModel, TUser>, TModel, bool>> predicate)
Parameters
predicate
Expression<Func<IApiContext<TModel, TUser>, TModel, Boolean>>
The predicate to use to determine if an element should be included in the dataset or not
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Limits this route's dataset to only the first element, throwing if there are no elements in the set
public SeltzrOptionsBuilder<TModel, TUser> First()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Maps another route to the same route pattern
public SeltzrOptionsBuilder<TModel, TUser> FlatMap()
Returns
SeltzrOptionsBuilder<TModel, TUser>
The new SeltzrOptionsBuilder<TModel, TUser> object
Remarks
This method works just like MapRoute(String, Action<SeltzrOptionsBuilder<TModel, TUser>>, Action<IEndpointConventionBuilder>) , but returns the newly created SeltzrOptionsBuilder<TModel, TUser>, rather than the one used to create the route.
Maps another route to the same route pattern
public SeltzrOptionsBuilder<TModel, TUser> FlatMap(Action<IEndpointConventionBuilder> routeOptionsHandler)
Parameters
routeOptionsHandler
Action<IEndpointConventionBuilder>
ASP.NET core specific route options
Returns
SeltzrOptionsBuilder<TModel, TUser>
The new SeltzrOptionsBuilder<TModel, TUser> object
Remarks
This method works just like MapRoute(String, Action<SeltzrOptionsBuilder<TModel, TUser>>, Action<IEndpointConventionBuilder>) , but returns the newly created SeltzrOptionsBuilder<TModel, TUser>, rather than the one used to create the route.
Maps a route to a route pattern
public SeltzrOptionsBuilder<TModel, TUser> FlatMap(string pattern)
Parameters
pattern
String
The pattern to match with
Returns
SeltzrOptionsBuilder<TModel, TUser>
The new SeltzrOptionsBuilder<TModel, TUser> object
Remarks
This method works just like MapRoute(String, Action<SeltzrOptionsBuilder<TModel, TUser>>, Action<IEndpointConventionBuilder>) , but returns the newly created SeltzrOptionsBuilder<TModel, TUser>, rather than the one used to create the route.
Maps a route to a route pattern
public SeltzrOptionsBuilder<TModel, TUser> FlatMap(string pattern, Action<IEndpointConventionBuilder> routeOptionsHandler)
Parameters
pattern
String
The pattern to match with
routeOptionsHandler
Action<IEndpointConventionBuilder>
ASP.NET core specific route options
Returns
SeltzrOptionsBuilder<TModel, TUser>
The new SeltzrOptionsBuilder<TModel, TUser> object
Remarks
This method works just like MapRoute(String, Action<SeltzrOptionsBuilder<TModel, TUser>>, Action<IEndpointConventionBuilder>) , but returns the newly created SeltzrOptionsBuilder<TModel, TUser>, rather than the one used to create the route.
Runs a given action for each model in the dataset after the operation is executed
public SeltzrOptionsBuilder<TModel, TUser> ForEach(Action<TModel> action)
Parameters
action
Action<TModel>
The action which will be passed a parsed model
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Remarks
Changes made to models will not be persisted to the database, but will be reflected in the HTTP response.
Examples
Hide a property before returning it, but don't omit it outright
options.ForEach(m => m.Address = "Hidden");
See Also
Runs a given action for each model in the dataset after the operation is executed
public SeltzrOptionsBuilder<TModel, TUser> ForEachAsync(Func<TModel, Task> action)
Parameters
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Remarks
Changes made to models will not be persisted to the database, but will be reflected in the HTTP response.
See Also
Runs a given action for each parsed request body before the operation is executed
public SeltzrOptionsBuilder<TModel, TUser> ForEachInput(Action<TModel> action)
Parameters
action
Action<TModel>
The action which will be passed a parsed model
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Examples
Trim a string property of a parsed model before it's saved:
options.ForEachInput(m => m.Name = m.Name.Trim());
Split a name into first and last before creating a model
options.PostCreate(create => {
create.ForEachInput(m => {
string[] Name = m.Name.Split(' ');
m.First = Name[0];
m.Last = Name[1];
});
});
See Also
Runs a given action asynchronously for each parsed request body before the operation is executed
public SeltzrOptionsBuilder<TModel, TUser> ForEachInputAsync(Func<TModel, Task> action)
Parameters
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
See Also
Ensures that a property of the TModel
will not be parsed from the request body
public SeltzrOptionsBuilder<TModel, TUser> Ignore(Expression<Func<TModel, object>> propertyExpression)
Parameters
propertyExpression
Expression<Func<TModel, Object>>
An expression that returns the property to be ignored
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Ensures that a property of the TModel
will not be parsed from the request body
public SeltzrOptionsBuilder<TModel, TUser> Ignore(PropertyInfo property)
Parameters
property
PropertyInfo
The property to be ignored
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Ensures that all properties of the TModel
will not be parsed from the request body
public SeltzrOptionsBuilder<TModel, TUser> IgnoreAll()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Ensures that a property of the TModel
will be included in the response body
public SeltzrOptionsBuilder<TModel, TUser> Include(Expression<Func<TModel, object>> propertyExpression)
Parameters
propertyExpression
Expression<Func<TModel, Object>>
An expression that returns the property to be included
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Ensures that a property of the TModel
will be included in the response body
public SeltzrOptionsBuilder<TModel, TUser> Include(PropertyInfo property)
Parameters
property
PropertyInfo
The property to be ignored
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Ensures that all properties of the TModel
will be included in the response body
public SeltzrOptionsBuilder<TModel, TUser> IncludeAll()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Limits this route's dataset to a certain number of elements
public SeltzrOptionsBuilder<TModel, TUser> Limit(int count)
Parameters
count
Int32
The number of elements to limit the result to
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Limits this route's dataset to only one element
public SeltzrOptionsBuilder<TModel, TUser> LimitOne()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Limits this route's dataset to a certain number of elements, as determined by a query parameter
public SeltzrOptionsBuilder<TModel, TUser> LimitQuery(string paramName)
Parameters
paramName
String
The name of the query parameter that determines the number of elements in the dataset
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Limits this route's dataset to a certain number of elements, as determined by a query parameter
public SeltzrOptionsBuilder<TModel, TUser> LimitQuery(string paramName, int max)
Parameters
paramName
String
The name of the query parameter that determines the number of elements in the dataset
max
Int32
The maximum number of elements to return
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Maps another route to the same route pattern
public SeltzrOptionsBuilder<TModel, TUser> MapRoute(Action<SeltzrOptionsBuilder<TModel, TUser>> optionsHandler)
Parameters
optionsHandler
Action<SeltzrOptionsBuilder<TModel, TUser>>
The options for this route
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
MapRoute(Action<SeltzrOptionsBuilder<TModel, TUser>>, Action<IEndpointConventionBuilder>)
Maps another route to the same route pattern
public SeltzrOptionsBuilder<TModel, TUser> MapRoute(Action<SeltzrOptionsBuilder<TModel, TUser>> optionsHandler, Action<IEndpointConventionBuilder> routeOptionsHandler)
Parameters
optionsHandler
Action<SeltzrOptionsBuilder<TModel, TUser>>
The options for this route
routeOptionsHandler
Action<IEndpointConventionBuilder>
ASP.NET core specific route options
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Maps a route to a route pattern
public SeltzrOptionsBuilder<TModel, TUser> MapRoute(string pattern, Action<SeltzrOptionsBuilder<TModel, TUser>> optionsHandler)
Parameters
pattern
String
The pattern to match with
optionsHandler
Action<SeltzrOptionsBuilder<TModel, TUser>>
The options for this route
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
MapRoute(String, Action<SeltzrOptionsBuilder<TModel, TUser>>, Action<IEndpointConventionBuilder>)
Maps a route to a route pattern
public SeltzrOptionsBuilder<TModel, TUser> MapRoute(string pattern, Action<SeltzrOptionsBuilder<TModel, TUser>> optionsHandler, Action<IEndpointConventionBuilder> routeOptionsHandler)
Parameters
pattern
String
The pattern to match with
optionsHandler
Action<SeltzrOptionsBuilder<TModel, TUser>>
The options for this route
routeOptionsHandler
Action<IEndpointConventionBuilder>
ASP.NET core specific route options
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Ensures that a property of the TModel
will not be included in the response body
public SeltzrOptionsBuilder<TModel, TUser> Omit(Expression<Func<TModel, object>> propertyExpression)
Parameters
propertyExpression
Expression<Func<TModel, Object>>
An expression that returns the property to be omitted
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Ensures that a property of the TModel
will not be included in the response body
public SeltzrOptionsBuilder<TModel, TUser> Omit(PropertyInfo property)
Parameters
property
PropertyInfo
The property to be omitted
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Ensures that no properties of the TModel
will be included in the response body
public SeltzrOptionsBuilder<TModel, TUser> OmitAll()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Makes all properties of the TModel
optional in the request body
public SeltzrOptionsBuilder<TModel, TUser> OptionalAllProperties()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Makes a property of the TModel
optional in the request body
public SeltzrOptionsBuilder<TModel, TUser> OptionalProperty(Expression<Func<TModel, object>> propertyExpression)
Parameters
propertyExpression
Expression<Func<TModel, Object>>
An expression that returns the property to make optional
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Makes a property of the TModel
optional in the request body
public SeltzrOptionsBuilder<TModel, TUser> OptionalProperty(PropertyInfo property)
Parameters
property
PropertyInfo
The property to make optional
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Orders this route's dataset in an ascending order using the given key selector
public SeltzrOptionsBuilder<TModel, TUser> OrderBy<TKey>(Expression<Func<TModel, TKey>> predicate)
Parameters
predicate
Expression<Func<TModel, TKey>>
The predicate to use to give they key to sort by
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TKey
The type of the key to sort by
Orders this route's dataset in an ascending order using the given key selector
public SeltzrOptionsBuilder<TModel, TUser> OrderBy<TKey>(Expression<Func<TModel, TKey>> predicate, IComparer<TKey> comparer)
Parameters
predicate
Expression<Func<TModel, TKey>>
The predicate to use to give they key to sort by
comparer
IComparer<TKey>
The comparer to use to compare two elements in the dataset
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TKey
The type of the key to sort by
Orders this route's dataset in an descending order using the given key selector
public SeltzrOptionsBuilder<TModel, TUser> OrderByDescending<TKey>(Expression<Func<TModel, TKey>> predicate)
Parameters
predicate
Expression<Func<TModel, TKey>>
The predicate to use to give they key to sort by
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TKey
The type of the key to sort by
OrderByDescending<TKey>(Expression<Func<TModel, TKey>>, IComparer<TKey>)
Orders this route's dataset in an descending order using the given key selector
public SeltzrOptionsBuilder<TModel, TUser> OrderByDescending<TKey>(Expression<Func<TModel, TKey>> predicate, IComparer<TKey> comparer)
Parameters
predicate
Expression<Func<TModel, TKey>>
The predicate to use to give they key to sort by
comparer
IComparer<TKey>
The comparer to use to compare two elements in the dataset
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TKey
The type of the key to sort by
Enables one-indexed pagination of the API output using the "page" and "count" query parameters with infinite maximum page sizes
public SeltzrOptionsBuilder<TModel, TUser> Paginate()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Enables one-indexed pagination of the API output
public SeltzrOptionsBuilder<TModel, TUser> Paginate(string pageParamName, int pageSize)
Parameters
pageParamName
String
The name of the query parameter that defines what page to return
pageSize
Int32
The number of elements to include in each page
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Enables one-indexed pagination of the API output with infinite maximum page sizes
public SeltzrOptionsBuilder<TModel, TUser> Paginate(string pageParamName, string countParamName)
Parameters
pageParamName
String
The name of the parameter that defines what page to return, starting from zero
countParamName
String
The name of the parameter that defines how many elements to return
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Enables one-indexed pagination of the API output
public SeltzrOptionsBuilder<TModel, TUser> Paginate(string pageParamName, string countParamName, int maxPageSize)
Parameters
pageParamName
String
The name of the parameter that defines what page to return, starting from zero
countParamName
String
The name of the parameter that defines how many elements to return
maxPageSize
Int32
The maximum number of elements to return in a page
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets this route up to parse JSON request bodies
public SeltzrOptionsBuilder<TModel, TUser> ParseJson()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets this route up to parse JSON request bodies
public SeltzrOptionsBuilder<TModel, TUser> ParseJson(JsonSerializerOptions options)
Parameters
options
JsonSerializerOptions
The options for the JSON deserializer
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets this route up to parse JSON request bodies as a single object or an array
public SeltzrOptionsBuilder<TModel, TUser> ParseJsonArrays()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets this route up to parse JSON request bodies as a single object or an array
public SeltzrOptionsBuilder<TModel, TUser> ParseJsonArrays(JsonSerializerOptions options)
Parameters
options
JsonSerializerOptions
The options for the JSON deserializer
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets this route up to parse XML request bodies
public SeltzrOptionsBuilder<TModel, TUser> ParseXml()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets this route up to parse XML and JSON request bodies
public SeltzrOptionsBuilder<TModel, TUser> ParseXmlAndJson(bool keepExisting = false)
Parameters
keepExisting
Boolean
True to keep existing parsers, false otherwise
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets this route up to parse XML and JSON request bodies as a single object or an array
public SeltzrOptionsBuilder<TModel, TUser> ParseXmlAndJsonArrays()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets this route up to parse XML request bodies as a single object or an array
public SeltzrOptionsBuilder<TModel, TUser> ParseXmlArrays()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Examples
<ArrayOfWhatever>
<Whatever></Whatever>
<Whatever><Element>4</Element></Whatever>
</ArrayOfWhatever>
Require(Func<IApiContext<TModel, TUser>, IQueryable<TModel>, Boolean>, String)
Adds a requirement to this route that will ensure the request meets the given condition
public SeltzrOptionsBuilder<TModel, TUser> Require(Func<IApiContext<TModel, TUser>, IQueryable<TModel>, bool> condition, string failureMessage = null)
Parameters
condition
Func<IApiContext<TModel, TUser>, IQueryable<TModel>, Boolean>
The delegate to use to determine if the request meets a condition
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds a requirement to this route that will ensure the request meets the given condition
public SeltzrOptionsBuilder<TModel, TUser> Require(Func<IQueryable<TModel>, bool> condition, string failureMessage = null)
Parameters
condition
Func<IQueryable<TModel>, Boolean>
The delegate to use to determine if the request meets a condition
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds a requirement to this route that will ensure that every element in the dataset meets the given condition
public SeltzrOptionsBuilder<TModel, TUser> RequireAll(Func<TModel, bool> condition, string failureMessage = null)
Parameters
The delegate to use to determine if the dataset's elements meet a condition
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds a requirement to this route that will ensure the parsed body meets the given condition. If there is no parsed body, this condition will always pass.
public SeltzrOptionsBuilder<TModel, TUser> RequireAllInput(Func<TModel, bool> condition, string failureMessage = null)
Parameters
The delegate to use to determine if the parsed body meets a condition
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Requires all properties of the TModel
to be present in the request body
public SeltzrOptionsBuilder<TModel, TUser> RequireAllProperties()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
RequireAsync(Func<IApiContext<TModel, TUser>, IQueryable<TModel>, Task<Boolean>>, String)
Adds a requirement to this route that will ensure the request meets the given condition
public SeltzrOptionsBuilder<TModel, TUser> RequireAsync(Func<IApiContext<TModel, TUser>, IQueryable<TModel>, Task<bool>> condition, string failureMessage = null)
Parameters
condition
Func<IApiContext<TModel, TUser>, IQueryable<TModel>, Task<Boolean>>
The delegate to use to determine if the request meets a condition
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds a requirement to this route that will ensure the request meets the given condition
public SeltzrOptionsBuilder<TModel, TUser> RequireAsync(Func<IQueryable<TModel>, Task<bool>> condition, string failureMessage = null)
Parameters
condition
Func<IQueryable<TModel>, Task<Boolean>>
The delegate to use to determine if the request meets a condition
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Ensures that there are at least a certain number of elements in the dataset
public SeltzrOptionsBuilder<TModel, TUser> RequireAtLeast(int count, string failureMessage = null)
Parameters
count
Int32
The number of elements that should be in the dataset at a minimum
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Ensures that there are exactly a certain number of elements in the dataset
public SeltzrOptionsBuilder<TModel, TUser> RequireExactly(int count, string failureMessage = null)
Parameters
count
Int32
The number of elements that should be in the dataset
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Ensures that there is exactly one element in the dataset
public SeltzrOptionsBuilder<TModel, TUser> RequireExactlyOne(string failureMessage = null)
Parameters
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Ensures that there is exactly one element in the parsed body
public SeltzrOptionsBuilder<TModel, TUser> RequireExactlyOneInput(string failureMessage = null)
Parameters
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds a requirement to this route that will ensure the parsed body meets the given condition. If there is no parsed body, this condition will always pass.
public SeltzrOptionsBuilder<TModel, TUser> RequireInput(Func<TModel[], bool> condition, string failureMessage = null)
Parameters
The delegate to use to determine if the parsed body meets a condition
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Adds a requirement to this route that will ensure the parsed body meets the given condition. If there is no parsed body, this condition will always pass.
public SeltzrOptionsBuilder<TModel, TUser> RequireInputAsync(Func<TModel[], Task<bool>> condition, string failureMessage = null)
Parameters
The delegate to use to determine if the parsed body meets a condition
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Ensures that there are at least a certain number of elements in the parsed body
public SeltzrOptionsBuilder<TModel, TUser> RequireInputHasAtLeast(int count, string failureMessage = null)
Parameters
count
Int32
The number of elements that should be in the dataset at a minimum
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Ensures that there are exactly a certain number of elements in the parsed dataset
public SeltzrOptionsBuilder<TModel, TUser> RequireInputHasExactly(int count, string failureMessage = null)
Parameters
count
Int32
The number of elements that should be in the dataset
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Ensures that there is at least one element in the dataset
public SeltzrOptionsBuilder<TModel, TUser> RequireNonEmpty(string failureMessage = null)
Parameters
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Ensures that there is at least one element in the parsed body
public SeltzrOptionsBuilder<TModel, TUser> RequireNonEmptyInput(string failureMessage = null)
Parameters
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Ensures that a request parameter meets a given condition
public SeltzrOptionsBuilder<TModel, TUser> RequireParameter<T>(ParameterRetriever parameter, Func<T, bool> condition, string failureMessage = null)
Parameters
parameter
ParameterRetriever
The parameter to set a condition on
The condition which, when passed the parsed parameter, will return a boolean value indicating whether or not the condition has been met
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type to parse the request parameter to
Ensures that a request parameter meets a given condition. If the request parameter is not present, the condition is not checked
public SeltzrOptionsBuilder<TModel, TUser> RequireParameterOpt<T>(ParameterRetriever parameter, Func<T, bool> condition, string failureMessage = null)
Parameters
parameter
ParameterRetriever
The parameter to set a condition on
The condition which, when passed the parsed parameter, will return a boolean value indicating whether or not the condition has been met
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type to parse the request parameter to
Requires a property of the TModel
to be present in the request body
public SeltzrOptionsBuilder<TModel, TUser> RequireProperty(Expression<Func<TModel, object>> propertyExpression)
Parameters
propertyExpression
Expression<Func<TModel, Object>>
An expression that returns the property to require
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Requires a property of the TModel
to be present in the request body
public SeltzrOptionsBuilder<TModel, TUser> RequireProperty(PropertyInfo property)
Parameters
property
PropertyInfo
The property to require
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Ensures that a query parameter meets a given condition
public SeltzrOptionsBuilder<TModel, TUser> RequireQuery<T>(string queryParameterName, Func<T, bool> condition, string failureMessage = null)
Parameters
queryParameterName
String
The query parameter to set a condition on
The condition which, when passed the parsed parameter, will return a boolean value indicating whether or not the condition has been met
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type to parse the query parameter to
Ensures that a query parameter meets a given condition. If the query parameter is not present, the condition is not checked
public SeltzrOptionsBuilder<TModel, TUser> RequireQueryOpt<T>(string queryParameterName, Func<T, bool> condition, string failureMessage = null)
Parameters
queryParameterName
String
The query parameter to set a condition on
The condition which, when passed the parsed parameter, will return a boolean value indicating whether or not the condition has been met
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type to parse the query parameter to
Ensures that a route value meets a given condition
public SeltzrOptionsBuilder<TModel, TUser> RequireRoute<T>(string routeValueName, Func<T, bool> condition, string failureMessage = null)
Parameters
routeValueName
String
The route value to set a condition on
The condition which, when passed the parsed parameter, will return a boolean value indicating whether or not the condition has been met
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type to parse the route value to
Ensures that a route value meets a given condition. If the route value is not present, the condition is not checked
public SeltzrOptionsBuilder<TModel, TUser> RequireRouteOpt<T>(string routeValueName, Func<T, bool> condition, string failureMessage = null)
Parameters
routeValueName
String
The route value to set a condition on
The condition which, when passed the parsed parameter, will return a boolean value indicating whether or not the condition has been met
failureMessage
String
The message of the exception to throw when the condition is not met
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
T
The type to parse the route value to
Resets this SeltzrOptionsBuilder<TModel, TUser>, clearing all lists and resetting all values except for the route pattern and model provider
public SeltzrOptionsBuilder<TModel, TUser> Reset()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
SetHeader(String, Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, String>)
Sets a response header for this request using a synchronous handler.
public SeltzrOptionsBuilder<TModel, TUser> SetHeader(string name, Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, string> handler)
Parameters
name
String
The name of the response value to set
handler
Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, String>
The delegate which will return the value to set the header to
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets a response header for this request to a predefined value.
public SeltzrOptionsBuilder<TModel, TUser> SetHeader(string name, string value)
Parameters
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
SetHeaderAsync(String, Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, Task<String>>)
Sets a response header for this request using an asynchronous handler.
public SeltzrOptionsBuilder<TModel, TUser> SetHeaderAsync(string name, Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, Task<string>> handler)
Parameters
name
String
The name of the header to set
handler
Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, Task<String>>
The delegate which will return the value to set the header to
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets up an anonymous GET request for the same route pattern, clearing body parsers and any operation.
public SeltzrOptionsBuilder<TModel, TUser> SetupAnonymousGet()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets up an anonymous GET request for the same route pattern, clearing body parsers and any operation.
public SeltzrOptionsBuilder<TModel, TUser> SetupAnonymousGet(Action<SeltzrOptionsBuilder<TModel, TUser>> optionsHandler)
Parameters
optionsHandler
Action<SeltzrOptionsBuilder<TModel, TUser>>
A handler for the route options
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
SetupAnonymousGet(String, Action<SeltzrOptionsBuilder<TModel, TUser>>)
Sets up an anonymous GET request for the given route pattern, clearing auth providers, body parsers, and any operation.
public SeltzrOptionsBuilder<TModel, TUser> SetupAnonymousGet(string routePattern, Action<SeltzrOptionsBuilder<TModel, TUser>> optionsHandler)
Parameters
routePattern
String
The route pattern to set up the request for
optionsHandler
Action<SeltzrOptionsBuilder<TModel, TUser>>
A handler for the route options
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets up a DELETE request for the same route pattern.
public SeltzrOptionsBuilder<TModel, TUser> SetupDelete()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets up a DELETE request for the same route pattern.
public SeltzrOptionsBuilder<TModel, TUser> SetupDelete(Action<SeltzrOptionsBuilder<TModel, TUser>> optionsHandler)
Parameters
optionsHandler
Action<SeltzrOptionsBuilder<TModel, TUser>>
A handler for the route options
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets up a DELETE request for the given route pattern
public SeltzrOptionsBuilder<TModel, TUser> SetupDelete(string routePattern, Action<SeltzrOptionsBuilder<TModel, TUser>> optionsHandler)
Parameters
routePattern
String
The route pattern to set up the request for
optionsHandler
Action<SeltzrOptionsBuilder<TModel, TUser>>
A handler for the route options
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets up a GET request for the same route pattern, clearing body parsers and any operation.
public SeltzrOptionsBuilder<TModel, TUser> SetupGet()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets up a GET request for the same route pattern, clearing body parsers and any operation.
public SeltzrOptionsBuilder<TModel, TUser> SetupGet(Action<SeltzrOptionsBuilder<TModel, TUser>> optionsHandler)
Parameters
optionsHandler
Action<SeltzrOptionsBuilder<TModel, TUser>>
A handler for the route options
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets up a GET request for the given route pattern, clearing body parsers and any operation.
public SeltzrOptionsBuilder<TModel, TUser> SetupGet(string routePattern, Action<SeltzrOptionsBuilder<TModel, TUser>> optionsHandler)
Parameters
routePattern
String
The route pattern to set up the request for
optionsHandler
Action<SeltzrOptionsBuilder<TModel, TUser>>
A handler for the route options
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets up a PATCH request for the same route pattern.
public SeltzrOptionsBuilder<TModel, TUser> SetupPatch()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets up a PATCH request for the same route pattern.
public SeltzrOptionsBuilder<TModel, TUser> SetupPatch(Action<SeltzrOptionsBuilder<TModel, TUser>> optionsHandler)
Parameters
optionsHandler
Action<SeltzrOptionsBuilder<TModel, TUser>>
A handler for the route options
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets up a PATCH request for the given route pattern
public SeltzrOptionsBuilder<TModel, TUser> SetupPatch(string routePattern, Action<SeltzrOptionsBuilder<TModel, TUser>> optionsHandler)
Parameters
routePattern
String
The route pattern to set up the request for
optionsHandler
Action<SeltzrOptionsBuilder<TModel, TUser>>
A handler for the route options
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets up a POST request for the same route pattern.
public SeltzrOptionsBuilder<TModel, TUser> SetupPost()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets up a POST request for the same route pattern.
public SeltzrOptionsBuilder<TModel, TUser> SetupPost(Action<SeltzrOptionsBuilder<TModel, TUser>> optionsHandler)
Parameters
optionsHandler
Action<SeltzrOptionsBuilder<TModel, TUser>>
A handler for the route options
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets up a POST request for the given route pattern
public SeltzrOptionsBuilder<TModel, TUser> SetupPost(string routePattern, Action<SeltzrOptionsBuilder<TModel, TUser>> optionsHandler)
Parameters
routePattern
String
The route pattern to set up the request for
optionsHandler
Action<SeltzrOptionsBuilder<TModel, TUser>>
A handler for the route options
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets up a PUT request for the same route pattern.
public SeltzrOptionsBuilder<TModel, TUser> SetupPut()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets up a PUT request for the same route pattern.
public SeltzrOptionsBuilder<TModel, TUser> SetupPut(Action<SeltzrOptionsBuilder<TModel, TUser>> optionsHandler)
Parameters
optionsHandler
Action<SeltzrOptionsBuilder<TModel, TUser>>
A handler for the route options
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets up a PUT request for the given route pattern
public SeltzrOptionsBuilder<TModel, TUser> SetupPut(string routePattern, Action<SeltzrOptionsBuilder<TModel, TUser>> optionsHandler)
Parameters
routePattern
String
The route pattern to set up the request for
optionsHandler
Action<SeltzrOptionsBuilder<TModel, TUser>>
A handler for the route options
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets a value on parsed models before the operation occurs.
public SeltzrOptionsBuilder<TModel, TUser> SetValue(Expression<Func<TModel, object>> property, ParameterRetriever retriever)
Parameters
property
Expression<Func<TModel, Object>>
The property to set the value on
retriever
ParameterRetriever
A parameter retriever to use to get the value for a request
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
SetValue(Expression<Func<TModel, Object>>, Func<IApiContext<TModel, TUser>, Object>)
Sets a value on parsed models before the operation occurs.
public SeltzrOptionsBuilder<TModel, TUser> SetValue(Expression<Func<TModel, object>> property, Func<IApiContext<TModel, TUser>, object> valueGetter)
Parameters
property
Expression<Func<TModel, Object>>
The property to set the value on
valueGetter
Func<IApiContext<TModel, TUser>, Object>
A handler to use to get the value when requested
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets a value on parsed models before the operation occurs.
public SeltzrOptionsBuilder<TModel, TUser> SetValue(PropertyInfo property, ParameterRetriever retriever)
Parameters
property
PropertyInfo
The property to set the value on
retriever
ParameterRetriever
A parameter retriever to use to get the value for a request
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets a value on parsed models before the operation occurs.
public SeltzrOptionsBuilder<TModel, TUser> SetValue(PropertyInfo property, Func<IApiContext<TModel, TUser>, object> valueGetter)
Parameters
property
PropertyInfo
The property to set the value on
valueGetter
Func<IApiContext<TModel, TUser>, Object>
A handler to use to get the value when requested
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
SetValueAsync(Expression<Func<TModel, Object>>, Func<IApiContext<TModel, TUser>, Task<Object>>)
Sets a value on parsed models before the operation occurs.
public SeltzrOptionsBuilder<TModel, TUser> SetValueAsync(Expression<Func<TModel, object>> property, Func<IApiContext<TModel, TUser>, Task<object>> valueGetter)
Parameters
property
Expression<Func<TModel, Object>>
The property to set the value on
valueGetter
Func<IApiContext<TModel, TUser>, Task<Object>>
A handler to use to get the value when requested
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
SetValueAsync(PropertyInfo, Func<IApiContext<TModel, TUser>, Task<Object>>)
Sets a value on parsed models before the operation occurs.
public SeltzrOptionsBuilder<TModel, TUser> SetValueAsync(PropertyInfo property, Func<IApiContext<TModel, TUser>, Task<object>> valueGetter)
Parameters
property
PropertyInfo
The property to set the value on
valueGetter
Func<IApiContext<TModel, TUser>, Task<Object>>
A handler to use to get the value when requested
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets a value obtained from a query parameter on parsed models before the operation occurs. The name of the route value is inferred from camelCasing the property name.
public SeltzrOptionsBuilder<TModel, TUser> SetValueQuery(Expression<Func<TModel, object>> property)
Parameters
property
Expression<Func<TModel, Object>>
The property to set the value on
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets a value obtained from a query parameter on parsed models before the operation occurs.
public SeltzrOptionsBuilder<TModel, TUser> SetValueQuery(Expression<Func<TModel, object>> property, string parameterName)
Parameters
property
Expression<Func<TModel, Object>>
The property to set the value on
parameterName
String
The name of the query parameter whose value property
will be set to
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets a value obtained from a query parameter on parsed models before the operation occurs. The name of the route value is inferred from camelCasing the property name.
public SeltzrOptionsBuilder<TModel, TUser> SetValueQuery(PropertyInfo property)
Parameters
property
PropertyInfo
The property to set the value on
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets a value obtained from a query parameter on parsed models before the operation occurs.
public SeltzrOptionsBuilder<TModel, TUser> SetValueQuery(PropertyInfo property, string parameterName)
Parameters
property
PropertyInfo
The property to set the value on
parameterName
String
The name of the query parameter whose value property
will be set to
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets a value obtained from a route value on parsed models before the operation occurs. The name of the route value is inferred from the property name.
public SeltzrOptionsBuilder<TModel, TUser> SetValueRoute(Expression<Func<TModel, object>> property)
Parameters
property
Expression<Func<TModel, Object>>
The property to set the value on
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets a value obtained from a route value on parsed models before the operation occurs.
public SeltzrOptionsBuilder<TModel, TUser> SetValueRoute(Expression<Func<TModel, object>> property, string parameterName)
Parameters
property
Expression<Func<TModel, Object>>
The property to set the value on
parameterName
String
The name of the route value whose value property
will be set to
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets a value obtained from a route value on parsed models before the operation occurs. The name of the route value is inferred from the property name.
public SeltzrOptionsBuilder<TModel, TUser> SetValueRoute(PropertyInfo property)
Parameters
property
PropertyInfo
The property to set the value on
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets a value obtained from a route value on parsed models before the operation occurs.
public SeltzrOptionsBuilder<TModel, TUser> SetValueRoute(PropertyInfo property, string parameterName)
Parameters
property
PropertyInfo
The property to set the value on
parameterName
String
The name of the route value whose value property
will be set to
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Skips over a given number of elements in the dataset
public SeltzrOptionsBuilder<TModel, TUser> Skip(int count)
Parameters
count
Int32
The number of elements in the dataset to skip over
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Skips a certain number of elements in this route's dataset, as determined by a query parameter
public SeltzrOptionsBuilder<TModel, TUser> SkipQuery(string paramName, int multiplier = 1)
Parameters
paramName
String
The name of the query parameter that determines the number of elements in the dataset to skip
multiplier
Int32
The number to multiply the value of paramName
by before skipping, for
pagination
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets whether or not to write the result as a TModel
instead of as a collection of
TModel
if there is only a single element in the result array
public SeltzrOptionsBuilder<TModel, TUser> StripArrayIfSingleResult(bool strip = true)
Parameters
strip
Boolean
A value indicating whether or not to strip the array from a result body if there is only a single element in the result array
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets the model provider to use for this route
public SeltzrOptionsBuilder<TModel, TUser> UseModelProvider(IModelProvider<TModel, TUser> modelProvider)
Parameters
modelProvider
IModelProvider<TModel, TUser>
The model provider to use
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets the model provider to use for this route
public SeltzrOptionsBuilder<TModel, TUser> UseModelProvider<TProvider>()
where TProvider : IModelProvider<TModel, TUser>, new()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TProvider
The type of the model provider to use
Sets the operation to use for this route, like create, update, or delete
public SeltzrOptionsBuilder<TModel, TUser> UseOperation(IOperation<TModel, TUser> operation)
Parameters
operation
IOperation<TModel, TUser>
The operation to use
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets the operation to use for this route, like create, update, or delete
public SeltzrOptionsBuilder<TModel, TUser> UseOperation<TOperation>()
where TOperation : IOperation<TModel, TUser>, new()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TOperation
The type of the operation to use
Indicates that this route accepts the given request methods
public SeltzrOptionsBuilder<TModel, TUser> UseRequestMethods(params string[] methods)
Parameters
methods
String[]
The request methods to accept
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets the result writer to use for this route
public SeltzrOptionsBuilder<TModel, TUser> UseResultWriter(IResultWriter<TModel, TUser> resultWriter)
Parameters
resultWriter
IResultWriter<TModel, TUser>
The result writer to use
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets the result writer to use for this route
public SeltzrOptionsBuilder<TModel, TUser> UseResultWriter<TWriter>()
where TWriter : IResultWriter<TModel, TUser>, new()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TWriter
The type of result writer to use
Wraps all API responses in an instance of BasicResponse<TModel>
public SeltzrOptionsBuilder<TModel, TUser> WrapResponse()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Wraps all API responses in an instance of the given type
public SeltzrOptionsBuilder<TModel, TUser> WrapResponse<TResponse>()
where TResponse : Response<TModel>
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TResponse
The type of the response wrapper
Writes all API outputs using JSON
public SeltzrOptionsBuilder<TModel, TUser> WriteJson()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Writes all API outputs using JSON
public SeltzrOptionsBuilder<TModel, TUser> WriteJson(JsonSerializerOptions options)
Parameters
options
JsonSerializerOptions
Options for the JSON serializer
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Writes API outputs using JSON or XML depending on the Accept header, the "format" query parameter, then the Content-Type header, defaulting to JSON.
public SeltzrOptionsBuilder<TModel, TUser> WriteJsonOrXml(JsonSerializerOptions options = null)
Parameters
options
JsonSerializerOptions
Options for the JSON serializer
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Writes the number of affected elements in all API outputs
public SeltzrOptionsBuilder<TModel, TUser> WriteNumberAffected(string templateString = "{0}")
Parameters
templateString
String
The template string. All instances of "{0}" will be replaced with the number of affected elements
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets the response value defined by the ModelCountAttribute to the size of the resulting dataset after the operation, if any.
public SeltzrOptionsBuilder<TModel, TUser> WriteResponseCountValue()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
WriteResponseValue(String, Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, Object>)
Sets a response value for this request using a synchronous handler. The response value to set is determined by the given attribute type
public SeltzrOptionsBuilder<TModel, TUser> WriteResponseValue(string name, Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, object> handler)
Parameters
name
String
The name of the response value to set
handler
Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, Object>
The delegate which will return what to set the value of the property defined by
name
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets a response value for this request to a predefined value. The response value to set is determined by the given attribute type
public SeltzrOptionsBuilder<TModel, TUser> WriteResponseValue(string name, object value)
Parameters
name
String
The name of the response value to set
value
Object
The value to set on the property defined by name
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
WriteResponseValue<TAttribute>(Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, Object>)
Sets a response value for this request using a synchronous handler. The response value to set is determined by the given attribute type
public SeltzrOptionsBuilder<TModel, TUser> WriteResponseValue<TAttribute>(Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, object> handler)
where TAttribute : Attribute
Parameters
handler
Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, Object>
The delegate which will return what to set the value of the property defined by the
TAttribute
attribute
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TAttribute
The type of attribute on the property to set the response value of
Sets a response value for this request to a predefined value. The response value to set is determined by the given attribute type
public SeltzrOptionsBuilder<TModel, TUser> WriteResponseValue<TAttribute>(object value)
where TAttribute : Attribute
Parameters
value
Object
The value to set on the property defined by the TAttribute
attribute
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TAttribute
The type of attribute on the property to set the response value of
WriteResponseValueAsync(String, Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, Task<Object>>)
Sets a response value for this request using an asynchronous handler. The response value to set is determined by the given attribute type
public SeltzrOptionsBuilder<TModel, TUser> WriteResponseValueAsync(string name, Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, Task<object>> handler)
Parameters
name
String
The name of the response value to set
handler
Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, Task<Object>>
The delegate which will return what to set the value of the property defined by
name
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
WriteResponseValueAsync<TAttribute>(Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, Task<Object>>)
Sets a response value for this request using an asynchronous handler. The response value to set is determined by the given attribute type
public SeltzrOptionsBuilder<TModel, TUser> WriteResponseValueAsync<TAttribute>(Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, Task<object>> handler)
where TAttribute : Attribute
Parameters
handler
Func<IApiContext<TModel, TUser>, IEnumerable<TModel>, Task<Object>>
The delegate which will return what to set the value of the property defined by the
TAttribute
attribute
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Type Parameters
TAttribute
The type of attribute on the property to set the response value of
Writes a string for all API outputs
public SeltzrOptionsBuilder<TModel, TUser> WriteString(string str)
Parameters
str
String
The string to return
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets the response value defined by the ApiVersionAttribute and the X-Api-Version header to the current API version.
public SeltzrOptionsBuilder<TModel, TUser> WriteVersion(string version)
Parameters
version
String
The current API version
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets the response header X-Api-Version to the current API version.
public SeltzrOptionsBuilder<TModel, TUser> WriteVersionHeader(string version)
Parameters
version
String
The current API version
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Sets the response value defined by the ApiVersionAttribute to the current API version.
public SeltzrOptionsBuilder<TModel, TUser> WriteVersionValue(string version)
Parameters
version
String
The current API version
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining
Writes all API outputs using XML
public SeltzrOptionsBuilder<TModel, TUser> WriteXml()
Returns
SeltzrOptionsBuilder<TModel, TUser>
This SeltzrOptionsBuilder<TModel, TUser> object, for chaining