ServiceStack.Interfaces Gets or sets parameter name with which allowable values will be associated. Generates body DTO parameter only if `DisableAutoDtoInBodyParam = false` Always generate body DTO for request Never generate body DTO for request The overall description of an API. Used by Swagger. Create or not body param for request type when verb is POST or PUT. Value can be one of the constants of `GenerateBodyParam` class: `GenerateBodyParam.IfNotDisabled` (default value), `GenerateBodyParam.Always`, `GenerateBodyParam.Never` Tells if body param is required Gets or sets verb to which applies attribute. By default applies to all verbs. Gets or sets parameter type: It can be only one of the following: path, query, body, form, or header. Gets or sets unique name for the parameter. Each name must be unique, even if they are associated with different paramType values. Other notes on the name field: If paramType is body, the name is used only for UI and codegeneration. If paramType is path, the name field must correspond to the associated path segment from the path field in the api object. If paramType is query, the name field corresponds to the query param name. Gets or sets the human-readable description for the parameter. For path, query, and header paramTypes, this field must be a primitive. For body, this can be a complex or container datatype. Fine-tuned primitive type definition. For path, this is always true. Otherwise, this field tells the client whether or not the field must be supplied. For query params, this specifies that a comma-separated list of values can be passed to the API. For path and body types, this field cannot be true. Gets or sets route to which applies attribute, matches using StartsWith. By default applies to all routes. Whether to exclude this property from being included in the ModelSchema The status code of a response The description of a response status code HTTP status code of response End-user description of the data which is returned by response If set to true, the response is default for all non-explicity defined status codes Open API schema definition type for response The Password Hasher provider used to hash users passwords, by default uses the same algorithm used by ASP.NET Identity v3: PBKDF2 with HMAC-SHA256, 128-bit salt, 256-bit subkey, 10000 iterations. The first byte marker used to specify the format used. The default implementation uses the following format: { 0x01, prf (UInt32), iter count (UInt32), salt length (UInt32), salt, subkey } Returns a boolean indicating whether the matches the . The out parameter indicates whether the password should be re-hashed. The hash value for a user's stored password. The password supplied for comparison. Implementations of this method should be time consistent. Returns a hashed representation of the supplied . The password to hash. A hashed representation of the supplied . A common interface implementation that is implemented by most cache providers Removes the specified item from the cache. The identifier for the item to delete. true if the item was successfully removed from the cache; false otherwise. Removes the cache for all the keys provided. The keys. Retrieves the specified item from the cache. The identifier for the item to retrieve. The retrieved item, or null if the key was not found. Increments the value of the specified key by the given amount. The operation is atomic and happens on the server. A non existent value at key starts at 0 The identifier for the item to increment. The amount by which the client wants to increase the item. The new value of the item or -1 if not found. The item must be inserted into the cache before it can be changed. The item must be inserted as a . The operation only works with values, so -1 always indicates that the item was not found. Increments the value of the specified key by the given amount. The operation is atomic and happens on the server. A non existent value at key starts at 0 The identifier for the item to increment. The amount by which the client wants to decrease the item. The new value of the item or -1 if not found. The item must be inserted into the cache before it can be changed. The item must be inserted as a . The operation only works with values, so -1 always indicates that the item was not found. Adds a new item into the cache at the specified cache key only if the cache is empty. The key used to reference the item. The object to be inserted into the cache. true if the item was successfully stored in the cache; false otherwise. The item does not expire unless it is removed due memory pressure. Sets an item into the cache at the cache key specified regardless if it already exists or not. Replaces the item at the cachekey specified only if an items exists at the location already. Invalidates all data on the cache. Retrieves multiple items from the cache. The default value of T is set for all keys that do not exist. The list of identifiers for the items to retrieve. a Dictionary holding all items indexed by their key. Sets multiple items to the cache. The values. Extend ICacheClient API with shared, non-core features A light interface over a cache client. This interface was inspired by Enyim.Caching.MemcachedClient Only the methods that are intended to be used are required, if you require extra functionality you can uncomment the unused methods below as they have been implemented in DdnMemcachedClient Removes the specified item from the cache. The identifier for the item to delete. true if the item was successfully removed from the cache; false otherwise. Removes the cache for all the keys provided. The keys. Retrieves the specified item from the cache. The identifier for the item to retrieve. The retrieved item, or null if the key was not found. Increments the value of the specified key by the given amount. The operation is atomic and happens on the server. The identifier for the item to increment. The amount by which the client wants to increase the item. The new value of the item or -1 if not found. The item must be inserted into the cache before it can be changed. The item must be inserted as a . The operation only works with values, so -1 always indicates that the item was not found. Increments the value of the specified key by the given amount. The operation is atomic and happens on the server. The identifier for the item to increment. The amount by which the client wants to decrease the item. The new value of the item or -1 if not found. The item must be inserted into the cache before it can be changed. The item must be inserted as a . The operation only works with values, so -1 always indicates that the item was not found. Inserts an item into the cache with a cache key to reference its location. The key used to reference the item. The object to be inserted into the cache. true if the item was successfully stored in the cache; false otherwise. The item does not expire unless it is removed due memory pressure. Inserts an item into the cache with a cache key to reference its location. The key used to reference the item. The object to be inserted into the cache. The time when the item is invalidated in the cache. true if the item was successfully stored in the cache; false otherwise. Removes all data from the cache. Retrieves multiple items from the cache. The list of identifiers for the items to retrieve. a Dictionary holding all items indexed by their key. Removes items from cache that have keys matching the specified wildcard pattern The wildcard, where "*" means any sequence of characters and "?" means any single character. Removes items from the cache based on the specified regular expression pattern Regular expression pattern to search cache keys A Users Session Store any object at key Set a typed value at key Get a typed value at key Remove the value at key Delete all Cache Entries (requires ICacheClient that implements IRemoveByPattern) Retrieves a User Session Gets the Session Bag for this request, creates one if it doesn't exist. Gets the Session Bag for this request, creates one if it doesn't exist. Only for ASP.NET apps. Uses the HttpContext.Current singleton. Create a Session Bag using a custom sessionId Allow delegation of dependencies to other IOC's Resolve Constructor Dependency Resolve a dependency from the AppHost's IOC BelongToAttribute Use to indicate that a join column belongs to another table. Compute attribute. Use to indicate that a property is a Calculated Field Decimal length attribute. Mark types that are to be excluded from specified features Explicit foreign key name. If it's null, or empty, the FK name will be autogenerated as before. Hash Key Attribute used to specify which property is the HashKey, e.g. in DynamoDb. IgnoreAttribute Use to indicate that a property is not a field in the table properties with this attribute are ignored when building sql sentences Ignore this property in SELECT statements Ignore this property in UPDATE statements Ignore this property in INSERT statements Decorate any type or property with adhoc info Primary key attribute. use to indicate that property is part of the pk Range Key Attribute used to specify which property is the RangeKey, e.g. in DynamoDb. Used to indicate that property is a row version incremented automatically by the database Used to annotate an Entity with its DB schema For providers that want a cleaner API with a little more perf Generic ResponseStatus for when Response Type can't be inferred. In schemaless formats like JSON, JSV it has the same shape as a typed Response DTO Contract indication that the Response DTO has a ResponseStatus Refresh file stats for this node if supported How many results to skip How many results to return List of fields to sort by, can order by multiple fields and inverse order, e.g: Id,-Amount List of fields to sort by descending, can order by multiple fields and inverse order, e.g: -Id,Amount Include aggregate data like Total, COUNT(*), COUNT(DISTINCT Field), Sum(Amount), etc The fields to return Populate with Include=Total or if registered with: AutoQueryFeature { IncludeTotal = true } Unifed API to create any missing Tables, Data Structure Schema or perform any other tasks dependencies require to run at Startup. Provide unique, incrementing sequences. Used in PocoDynamo. Marker interfaces The minimal API Surface to capture the most common SYNC requests. Convenience extensions over these core API's available in ServiceGatewayExtensions Normal Request/Reply Services Auto Batched Request/Reply Requests OneWay Service Auto Batched OneWay Requests The minimal API Surface to capture the most common ASYNC requests. Convenience extensions over these core API's available in ServiceGatewayExtensions Normal Request/Reply Services Auto Batched Request/Reply Requests OneWay Service Auto Batched OneWay Requests Helper ILog implementation that reduces effort to extend or use without needing to impl each API Initializes a new instance of the class. Initializes a new instance of the class. Logs the specified message. Logs the format. Logs the specified message. Logs a message in a running application Gets or sets a value indicating whether this instance is debug enabled. true if this instance is debug enabled; otherwise, false. Logs a Debug message. The message. Logs a Debug message and exception. The message. The exception. Logs a Debug format message. The format. The args. Logs a Error message. The message. Logs a Error message and exception. The message. The exception. Logs a Error format message. The format. The args. Logs a Fatal message. The message. Logs a Fatal message and exception. The message. The exception. Logs a Error format message. The format. The args. Logs an Info message and exception. The message. Logs an Info message and exception. The message. The exception. Logs an Info format message. The format. The args. Logs a Warning message. The message. Logs a Warning message and exception. The message. The exception. Logs a Warning format message. The format. The args. Factory to create ILog instances Gets the logger. Gets the logger. Pushes a property on the current log context, returning an to remove the property again from the async context. Property Name Property Value Interface for popping the property off the stack Pushes a property on the current log context, returning an to remove the property again from the async context. The logger Property Name Property Value Interface for popping the property off the stack Logs a Debug format message and exception. Exception related to the event. The format. The args. Logs an Info format message and exception. Exception related to the event. The format. The args. Logs a Warn format message and exception. Exception related to the event. The format. The args. Logs an Error format message and exception. Exception related to the event. The format. The args. Logs a Fatal format message and exception. Exception related to the event. The format. The args. Logs a Debug format message and exception. The logger Exception related to the event. The format. The args. Logs an Info format message and exception. The logger Exception related to the event. The format. The args. Logs a Warn format message and exception. The logger Exception related to the event. The format. The args. Logs an Error format message and exception. The logger Exception related to the event. The format. The args. Logs a Fatal format message and exception. The logger Exception related to the event. The format. The args. Logging API for this library. You can inject your own implementation otherwise will use the DebugLogFactory to write to System.Diagnostics.Debug Gets or sets the log factory. Use this to override the factory that is used to create loggers Gets the logger. Gets the logger. Default logger is to System.Diagnostics.Debug.Print Made public so its testable Initializes a new instance of the class. Initializes a new instance of the class. Logs the specified message. Logs the format. Logs the specified message. Creates a Debug Logger, that logs all messages to: System.Diagnostics.Debug Made public so its testable StringBuilderLog writes to shared StringBuffer. Made public so its testable Logs the specified message. Logs the format. Logs the specified message. The message. Creates a test Logger, that stores all log messages in a member list Tests logger which stores all log messages in a member list which can be examined later Made public so its testable Initializes a new instance of the class. The type. Initializes a new instance of the class. The type. Logs the specified message. The message. The exception. Logs the format. The message. The args. Logs the specified message. The message. Single threaded message handler that can process all messages of a particular message type. The type of the message this handler processes The MqClient processing the message Process all messages pending Process messages from a single queue. The queue to process A predicate on whether to continue processing the next message if any Process a single message Get Current Stats for this Message Handler Publish the specified message into the durable queue @queueName Publish the specified message into the transient queue @queueName Synchronous blocking get. Non blocking get message Acknowledge the message has been successfully received or processed Negative acknowledgement the message was not processed correctly Create a typed message from a raw MQ Response artefact Create a temporary Queue for Request / Reply Simple definition of an MQ Host Factory to create consumers and producers that work with this service Register DTOs and hanlders the MQ Server will process Register DTOs and hanlders the MQ Server will process using specified number of threads Register DTOs and hanlders the MQ Server will process Register DTOs and hanlders the MQ Server will process using specified number of threads Get Total Current Stats for all Message Handlers Get a list of all message types registered on this MQ Host Get the status of the service. Potential Statuses: Disposed, Stopped, Stopping, Starting, Started Get a Stats dump Start the MQ Host if not already started. Stop the MQ Host if not already stopped. Basic implementation of IMessage[T] Util static generic class to create unique queue names for types Util class to create unique queue names for runtime types For messaging exceptions that should by-pass the messaging service's configured retry attempts and store the message straight into the DLQ Specify a VirtualPath or Layout for a Code Page Specify static page arguments Wrap the common redis list operations under a IList[string] interface. Redis transaction for typed client Interface to redis typed pipeline interface to queueable operation using typed redis client Returns a high-level typed client API Returns a Read/Write client (The default) using the hosts defined in ReadWriteHosts Returns a ReadOnly client using the hosts defined in ReadOnlyHosts. Returns a Read/Write ICacheClient (The default) using the hosts defined in ReadWriteHosts Returns a ReadOnly ICacheClient using the hosts defined in ReadOnlyHosts. Returns a Read/Write client (The default) using the hosts defined in ReadWriteHosts Returns a ReadOnly client using the hosts defined in ReadOnlyHosts. Returns a Read/Write ICacheClient (The default) using the hosts defined in ReadWriteHosts Returns a ReadOnly ICacheClient using the hosts defined in ReadOnlyHosts. The number of active subscriptions this client has Registered handler called after client *Subscribes* to each new channel Registered handler called when each message is received Registered handler called when each channel is unsubscribed Subscribe to channels by name Subscribe to channels matching the supplied patterns Interface to redis transaction Base transaction interface, shared by typed and non-typed transactions Interface to redis pipeline Pipeline interface shared by typed and non-typed pipelines interface to operation that can queue commands Interface to operations that allow queued commands to be completed A log entry added by the IRequestLogger Error information pertaining to a particular named field. Used for returning multiple field validation errors.s Common ResponseStatus class that should be present on all response DTO's Initializes a new instance of the class. A response status without an errorcode == success Initializes a new instance of the class. A response status with an errorcode == failure Initializes a new instance of the class. A response status with an errorcode == failure Holds the custom ErrorCode enum if provided in ValidationException otherwise will hold the name of the Exception type, e.g. typeof(Exception).Name A value of non-null means the service encountered an error while processing the request. A human friendly error message The Server StackTrace when DebugMode is enabled For multiple detailed validation errors. Can hold a specific error message for each named field. For additional custom metadata about the error Decorate on Request DTO's to alter the accessibility of a service and its visibility on /metadata pages Allow access but hide from metadata to requests from Localhost only Allow access but hide from metadata to requests from Localhost and Local Intranet only Restrict access and hide from metadata to requests from Localhost only Restrict access and hide from metadata to requests from Localhost and Local Intranet only Restrict access and hide from metadata to requests from External only Sets a single access restriction Restrict Access to. Restrict access to any of the specified access scenarios Access restrictions Sets a single metadata Visibility restriction Restrict metadata Visibility to. Restrict metadata visibility to any of the specified access scenarios Visibility restrictions Restrict access and metadata visibility to any of the specified access scenarios The restrict access to scenarios. Restrict access and metadata visibility to any of the specified access scenarios The restrict access to scenarios. Returns the allowed set of scenarios based on the user-specified restrictions Converts from a User intended restriction to a flag with all the allowed attribute flags set, e.g: If No Network restrictions were specified all Network access types are allowed, e.g: restrict EndpointAttributes.None => ... 111 If a Network restriction was specified, only it will be allowed, e.g: restrict EndpointAttributes.LocalSubnet => ... 010 The returned Enum will have a flag with all the allowed attributes set Used to decorate Request DTO's to associate a RESTful request path mapping with a service. Multiple attributes can be applied to each request DTO, to map multiple paths to the service. Initializes an instance of the class. The path template to map to the request. See RouteAttribute.Path for details on the correct format. Initializes an instance of the class. The path template to map to the request. See RouteAttribute.Path for details on the correct format. A comma-delimited list of HTTP verbs supported by the service. If unspecified, all verbs are assumed to be supported. Gets or sets the path template to be mapped to the request. A value providing the path mapped to the request. Never . Some examples of valid paths are: "/Inventory" "/Inventory/{Category}/{ItemId}" "/Inventory/{ItemPath*}" Variables are specified within "{}" brackets. Each variable in the path is mapped to the same-named property on the request DTO. At runtime, ServiceStack will parse the request URL, extract the variable values, instantiate the request DTO, and assign the variable values into the corresponding request properties, prior to passing the request DTO to the service object for processing. It is not necessary to specify all request properties as variables in the path. For unspecified properties, callers may provide values in the query string. For example: the URL "http://services/Inventory?Category=Books&ItemId=12345" causes the same request DTO to be processed as "http://services/Inventory/Books/12345", provided that the paths "/Inventory" (which supports the first URL) and "/Inventory/{Category}/{ItemId}" (which supports the second URL) are both mapped to the request DTO. Please note that while it is possible to specify property values in the query string, it is generally considered to be less RESTful and less desirable than to specify them as variables in the path. Using the query string to specify property values may also interfere with HTTP caching. The final variable in the path may contain a "*" suffix to grab all remaining segments in the path portion of the request URL and assign them to a single property on the request DTO. For example, if the path "/Inventory/{ItemPath*}" is mapped to the request DTO, then the request URL "http://services/Inventory/Books/12345" will result in a request DTO whose ItemPath property contains "Books/12345". You may only specify one such variable in the path, and it must be positioned at the end of the path. Gets or sets short summary of what the route does. Gets or sets longer text to explain the behaviour of the route. Gets or sets a comma-delimited list of HTTP verbs supported by the service, such as "GET,PUT,POST,DELETE". A providing a comma-delimited list of HTTP verbs supported by the service, or empty if all verbs are supported. Used to rank the precedences of route definitions in reverse routing. i.e. Priorities below 0 are auto-generated have less precedence. Must match rule defined in Config.RequestRules or Regex expression with format: "{IHttpRequest.Field} =~ {pattern}", e.g "PathInfo =~ \/[0-9]+$" Fallback routes have the lowest precedence, i.e. after normal Routes, static files or any matching Catch All Handlers. Additional checks to notify of invalid state, configuration or use of ServiceStack libraries. Can disable StrictMode checks with Config.StrictMode = false; Get or sets tag name Get or sets operation verbs for which the attribute be applied Adds an expired Set-Cookie instruction for clients to delete this Cookie Adds a new Set-Cookie instruction for ss-pid Adds a new Set-Cookie instruction for ss-id Order in which Request Filters are executed. <0 Executed before global request filters >0 Executed after global request filters A new shallow copy of this filter is used on every request. This interface can be implemented by an attribute which adds an request filter for the specific request DTO the attribute marked. The request filter is executed before the service. The http request wrapper The http response wrapper The request DTO This interface can be implemented by an attribute which adds an request filter for the specific request DTO the attribute marked. The request filter is executed before the service. The http request wrapper The http response wrapper The request DTO Order in which Response Filters are executed. <0 Executed before global response filters >0 Executed after global response filters A new shallow copy of this filter is used on every request. This interface can be implemented by an attribute which adds an response filter for the specific response DTO the attribute marked. The response filter is executed after the service The http request wrapper The http response wrapper This interface can be implemented by an attribute which adds an response filter for the specific response DTO the attribute marked. The response filter is executed after the service The http request wrapper The http response wrapper A thin wrapper around ASP.NET or HttpListener's HttpRequest The HttpResponse The HTTP Verb The IP Address of the X-Forwarded-For header, null if null or empty The Port number of the X-Forwarded-Port header, null if null or empty The http or https scheme of the X-Forwarded-Proto header, null if null or empty The value of the X-Real-IP header, null if null or empty The value of the Accept HTTP Request Header A thin wrapper around ASP.NET or HttpListener's HttpResponse Adds a new Set-Cookie instruction to Response Removes all pending Set-Cookie instructions The HTTP Response Status The HTTP Response Status Code The HTTP Status Description The HTTP Response ContentType Additional HTTP Headers Additional HTTP Cookies Response DTO if not provided, get's injected by ServiceStack Holds the request call context The padding length written with the body, to be added to ContentLength of body Serialize the Response within the specified scope Whether this HttpResult allows Partial Response Write a partial content result Whether this HttpResult allows Partial Response Write a partial content result A thin wrapper around each host's Request e.g: ASP.NET, HttpListener, MQ, etc The underlying ASP.NET or HttpListener HttpRequest The Response API for this Request The name of the service being called (e.g. Request DTO Name) The Verb / HttpMethod or Action for this request Different Attribute Enum flags classifying this Request Optional preferences for the processing of this Request The Request DTO, after it has been deserialized. The request ContentType Whether this was an Internal Request The UserAgent for the request A Dictionary of HTTP Cookies sent with this Request The expected Response ContentType for this request Whether the ResponseContentType has been explicitly overrided or whether it was just the default Attach any data to this request that all filters and services can access. The HTTP Headers in an INameValueCollection The ?query=string in an INameValueCollection The HTTP POST'ed Form Data in an INameValueCollection Buffer the Request InputStream so it can be re-read The entire string contents of Request.InputStream Relative URL containing /path/info?query=string The Absolute URL for the request The Remote IP as reported by Request.UserHostAddress The Remote Ip as reported by X-Forwarded-For, X-Real-IP or Request.UserHostAddress The value of the Authorization Header used to send the Api Key, null if not available e.g. is https or not Array of different Content-Types accepted by the client The normalized /path/info for the request The original /path/info as sent The Request Body Input Stream The size of the Request Body if provided Access to the multi-part/formdata files posted on this request The value of the Referrer, null if not available Log every service request Turn On/Off Session Tracking Turn On/Off Raw Request Body Tracking Turn On/Off Tracking of Responses Turn On/Off Tracking of Exceptions Limit logging to only Service Requests Limit access to /requestlogs service to role Don't log matching requests Don't log requests of these types. Don't log request bodys for services with sensitive information. By default Auth and Registration requests are hidden. Log a request The RequestContext Request DTO Response DTO or Exception How long did the Request take View the most recent logs Implement on services that need access to the RequestContext Implement on Request DTOs that need access to the raw Request Stream The raw Http Request Input Stream A thin wrapper around each host's Response e.g: ASP.NET, HttpListener, MQ, etc The underlying ASP.NET, .NET Core or HttpListener HttpResponse The corresponding IRequest API for this Response The Response Status Code The Response Status Description The Content-Type for this Response Add a Header to this Response Remove an existing Header added on this Response Get an existing Header added to this Response Return a Redirect Response to the URL specified The Response Body Output Stream The Response DTO Buffer the Response OutputStream so it can be written in 1 batch Signal that this response has been handled and no more processing should be done. When used in a request or response filter, no more filters or processing is done on this request. Calls Response.End() on ASP.NET HttpResponse otherwise is an alias for Close(). Useful when you want to prevent ASP.NET to provide it's own custom error page. Response.Flush() and OutputStream.Flush() seem to have different behaviour in ASP.NET Flush this Response Output Stream Async Gets a value indicating whether this instance is closed. Set the Content Length in Bytes for this Response Whether the underlying TCP Connection for this Response should remain open Whether the HTTP Response Headers have already been written. Responsible for executing the operation within the specified context. The operation types. Returns the first matching RestPath Executes the MQ DTO request. Executes the MQ DTO request with the supplied requestContext Executes the DTO request under the supplied requestContext. Executes the DTO request under supplied context and option to Execute Request/Response Filters. Executes the DTO request with an empty RequestContext. Executes the DTO request with the current HttpRequest and option to Execute Request/Response Filters. Allow the registration of user-defined routes for services Maps the specified REST path to the specified request DTO. The type of request DTO to map the path to. The path to map the request DTO to. See RouteAttribute.Path for details on the correct format. The same instance; never . Maps the specified REST path to the specified request DTO, and specifies the HTTP verbs supported by the path. The type of request DTO to map the path to. The path to map the request DTO to. See RouteAttribute.Path for details on the correct format. The comma-delimited list of HTTP verbs supported by the path, such as "GET,PUT,DELETE". Specify empty or to indicate that all verbs are supported. The same instance; never . Maps the specified REST path to the specified request DTO, specifies the HTTP verbs supported by the path, and indicates the default MIME type of the returned response. The type of request DTO to map the path to. The path to map the request DTO to. See RouteAttribute.Path for details on the correct format. The comma-delimited list of HTTP verbs supported by the path, such as "GET,PUT,DELETE". The same instance; never . Maps the specified REST path to the specified request DTO, specifies the HTTP verbs supported by the path, and indicates the default MIME type of the returned response. Used to rank the precedences of route definitions in reverse routing. i.e. Priorities below 0 are auto-generated have less precedence. Maps the specified REST path to the specified request DTO, specifies the HTTP verbs supported by the path, and indicates the default MIME type of the returned response. The type of request DTO to map the path to. The path to map the request DTO to. See RouteAttribute.Path for details on the correct format. The comma-delimited list of HTTP verbs supported by the path, such as "GET,PUT,DELETE". The short summary of what the REST does. The longer text to explain the behaviour of the REST. The same instance; never . Maps the specified REST path to the specified request DTO, specifies the HTTP verbs supported by the path, and indicates the default MIME type of the returned response. The type of request DTO to map the path to. The path to map the request DTO to. See RouteAttribute.Path for details on the correct format. The comma-delimited list of HTTP verbs supported by the path, such as "GET,PUT,DELETE". The short summary of what the REST does. The longer text to explain the behaviour of the REST. Must match rule defined in Config.RequestRules or Regex expression with format: "{IHttpRequest.Field} =~ {pattern}", e.g "PathInfo =~ \/[0-9]+$" The same instance; never .