Class RouteAttribute
Inheritance
Inherited Members
Namespace: MediaBrowser.Model.Services
Assembly: MediaBrowser.Model.dll
Syntax
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)]
public sealed class RouteAttribute : Attribute
Constructors
RouteAttribute(String)
Initializes an instance of the RouteAttribute class.
Declaration
public RouteAttribute(string path)
Parameters
Type | Name | Description |
---|---|---|
System.String | path | The path template to map to the request. See RouteAttribute.Path for details on the correct format. |
RouteAttribute(String, String)
Initializes an instance of the RouteAttribute class.
Declaration
public RouteAttribute(string path, string verbs)
Parameters
Type | Name | Description |
---|---|---|
System.String | path | The path template to map to the request. See RouteAttribute.Path for details on the correct format. |
System.String | verbs | A comma-delimited list of HTTP verbs supported by the service. If unspecified, all verbs are assumed to be supported. |
Properties
Description
Declaration
public string Description { get; set; }
Property Value
Type | Description |
---|---|
System.String |
IsHidden
Declaration
public bool IsHidden { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
Notes
Gets or sets longer text to explain the behaviour of the route.
Declaration
public string Notes { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Path
Gets or sets the path template to be mapped to the request.
Declaration
public string Path { get; set; }
Property Value
Type | Description |
---|---|
System.String | A System.String value providing the path mapped to the request. Never null. |
Remarks
Some examples of valid paths are:
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.
Priority
Used to rank the precedences of route definitions in reverse routing. i.e. Priorities below 0 are auto-generated have less precedence.
Declaration
public int Priority { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
Summary
Gets or sets short summary of what the route does.
Declaration
public string Summary { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Verbs
Gets or sets a comma-delimited list of HTTP verbs supported by the service, such as "GET,PUT,POST,DELETE".
Declaration
public string Verbs { get; set; }
Property Value
Type | Description |
---|---|
System.String | A System.String providing a comma-delimited list of HTTP verbs supported by the service, null or empty if all verbs are supported. |
Methods
Equals(Object)
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
System.Object | obj |
Returns
Type | Description |
---|---|
System.Boolean |
Overrides
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
System.Int32 |