Route Attribute
The primary goal of the Route attribut is to target method and add them to the Router.
RouteAttribute()
Method
csharp
/// <summary>
/// Route Attribut for Method
/// </summary>
/// <param name="method">The method.</param>
/// <param name="path">The path.</param>
/// <param name="queryStringMappingEnabled">The queryStringMappingEnabled.</param>
/// <param name="isAbsolutePath">The absolutePath.</param>
/// <param name="description">The string description for this route</param>
/// <exception cref="ArgumentException">The argument 'verb' must be specified.</exception>
/// <exception cref="ArgumentException">The argument 'path' must be specified.</exception>
RouteAttribute(string method, string path, bool queryStringMappingEnabled = true, bool isAbsolutePath = false, string description = null)Example, i want the Home() method of the TestController class be called when client send a request to http://localhost:2015/api/test/index.
csharp
using System;
using System.Net;
using SimpleW;
namespace Sample {
class Program {
static void Main() {
var server = new SimpleWServer(IPAddress.Any, 2015);
server.AddDynamicContent("/api");
server.Start();
Console.WriteLine("server started at http://localhost:2015/");
Console.ReadKey();
}
}
public class TestController : Controller {
// http://localhost:2015/api/test/index
[Route("GET", "test/index")]
public List<string> Index() {
return new List<string>() {
"foo", "bar"
};
}
public object About() {
return "about page";
}
private void Create() {
// do stuff
}
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Controller
csharp
/// <summary>
/// Route Attribut for Controller
/// </summary>
/// <param name="path">The path.</param>
/// <exception cref="ArgumentException">The argument 'path' must be specified.</exception>
RouteAttribute(string path)Example, i want all callable method of my TestController have the same prefix like /test.
csharp
using System;
using System.Net;
using SimpleW;
namespace Sample {
class Program {
static void Main() {
var server = new SimpleWServer(IPAddress.Any, 2015);
server.AddDynamicContent("/api");
server.Start();
Console.WriteLine("server started at http://localhost:2015/");
Console.ReadKey();
}
}
[Route("test/")]
public class TestController : Controller {
// http://localhost:2015/api/test/index
[Route("GET", "/index")]
public List<string> Index() {
return new List<string>() {
"foo", "bar"
};
}
// http://localhost:2015/api/test/about
[Route("GET", "/about")]
public object About() {
return "about page";
}
private void Create() {
// do stuff
}
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
