Namespace FastEndpoints
Classes
BaseEndpoint
BindFromAttribute
use this attribute to specify the name of route param, query param, or form field if it's different from the name of the property being bound to.
Config
global configuration settings for FastEndpoints
Endpoint<TRequest>
use this base class for defining endpoints that only use a request dto and don't use a response dto.
Endpoint<TRequest, TResponse>
use this base class for defining endpoints that use both request and response dtos.
Endpoint<TRequest, TResponse, TMapper>
use this base class for defining endpoints that use both request and response dtos as well as require mapping to and from a domain entity using a seperate entity mapper.
EndpointDefinition
represents the configuration settings of an endpoint
EndpointDiscoveryOptions
defines how endpoint discovery and registration should be done at startup
EndpointSummary
a class used for providing a textual description about an endpoint for swagger
EndpointSummary<TRequest>
EndpointWithMapping<TRequest, TResponse, TEntity>
use this base class for defining endpoints that use both request and response dtos as well as require mapping to and from a domain entity.
EndpointWithoutRequest
use this base class for defining endpoints that doesn't need a request dto. usually used for routes that doesn't have any parameters.
EndpointWithoutRequest<TResponse>
use this base class for defining endpoints that doesn't need a request dto but return a response dto.
EpVersion
represents an enpoint version
ErrorResponse
the dto used to send an error response to the client
Event<TEvent>
event notification hub which uses an in-process pub/sub messaging system based on .net events
ExceptionHandlerExtensions
extensions for global exception handling
Factory
a factory for instantiaing endpoints for testing purposes
FastEventHandler<TEvent>
use this base class to handle events published by the notification system
FromAttribute
properties decorated with this attribute will have their values auto bound from the relevant claim of the current user principal. this is a shorter alias for the [FromClaim] attribute.
FromBodyAttribute
properties decorated with this attribute will have their values auto bound from the incoming request's json body.
HINT: no other binding sources will be used for binding that property.
FromClaimAttribute
properties decorated with this attribute will have their values auto bound from the relevant claim of the current user principal
FromHeaderAttribute
properties decorated with this attribute will have their values auto bound from the relevant http header of the current request.
HasPermissionAttribute
boolean properties decorated with this attribute will have their values set to true if the current principal has the specified permission.
HttpAttribute
HttpClientExtensions
a set of extensions to the httpclient in order to facilitate route-less integration testing
HttpDeleteAttribute
use this attribute to specify a DELETE route for an endpoint
HttpGetAttribute
use this attribute to specify a GET route for an endpoint
HttpPatchAttribute
use this attribute to specify a PATCH route for an endpoint
HttpPostAttribute
use this attribute to specify a POST route for an endpoint
HttpPutAttribute
use this attribute to specify a PUT route for an endpoint
HttpResponseExtensions
MainExtensions
provides extensions to easily bootstrap fastendpoints in the asp.net middleware pipeline
Mapper<TRequest, TResponse, TEntity>
use this base class to define domain entity mappers for your endpoints.
HINT: entity mappers are used as singletons for performance reasons. do not maintain state in the mappers.
PlainTextRequest
use this dto if you need to model bind the raw content body of an incoming http request or you may implement the IPlainTextRequest interface on your own request dto.
QueryParamAttribute
properties decorated with this attribute will have a corresponding request parameter added to the swagger schema
RoutingOptions
routing options for the endpoints
Summary<TEndpoint>
Summary<TEndpoint, TRequest>
ThrottleOptions
global settings for throttling
ValidationFailureException
the exception thrown when a validation error has occured. this class is only useful in unit tests.
Validator<TRequest>
inherit from this base class to define your dto validators
HINT: validators are registered as singletons. i.e. the same validator instance is used to validate each request for best performance. hance, do not maintain state in your validators.
VersioningOptions
global endpoint versioning options
Structs
BinderContext
binder context supplied to custom request binders.
EmptyRequest
a request dto that doesn't have any properties
EmptyResponse
a response dto that doesn't have any properties
Interfaces
IEntityMapper
marker interface for entity mappers
IPlainTextRequest
implement this interface on your request dto if you need to model bind the raw content body of an incoming http request
IPostProcessor<TRequest, TResponse>
interface for defining post-processors to be executed after the main endpoint handler is done
IPreProcessor<TRequest>
interface for defining pre-processors to be executed before the main endpoint handler is called
IRequestBinder<TRequest>
create custom request binders by implementing this interface. by registering a custom modelbinder for an endpoint will completely disable the built-in model binding and completely depend on your implementation of the custom binder to return a correctly populated request dto for the endpoint.
Enums
Http
enum for specifying a http verb
Mode
enum for specifying the waiting mode for event notifications