-
-
Notifications
You must be signed in to change notification settings - Fork 175
自定义控制器访问路径
Henry edited this page Sep 10, 2019
·
1 revision
组件对控制器方法访问路径是Controller.BaseUrl
+方法名
;当BaseUrl
不配置的情况下默认值是/
[Controller]
public class Home
{
[Post]
public bool Login(string name, string value)
{
return name == "admin" && value == "123456";
}
}
由于没有设置BaseUrl
,以上访问的路径是/Login
;BaseUrl
主要是描述方法对应的根路径
[Controller(BaseUrl ="user")]
public class Home
{
[Post]
public bool Login(string name, string value)
{
return name == "admin" && value == "123456";
}
}
当然定义BaseUrl
值为user
后对应的访问路径是/user/login
很多时候都需要对方法制定不同的访问路径,组件支持在指定访问类型的同时制定不同的Route
属性。
[Controller(BaseUrl ="user")]
public class Home
{
[Get(Route ="{user_id}")]
public bool Query(string user_id)
{
return user_id == "admin";
}
}
以上访问路径是/user/query/{user_id}
,最后{user_id}
相应的内容会注入到对应的user_id
参数。
[Controller(BaseUrl ="user")]
public class Home
{
[Get(Route ="aaa/{user_id}")]
public bool Query(string user_id)
{
return user_id == "admin";
}
}
以上访问路径是/user/aaa/{user_id}
,最后{user_id}
相应的内容会注入到对应的user_id
参数。
[Controller(BaseUrl ="user")]
public class Home
{
[Get(Route ="/aaa/{user_id}")]
public bool Query(string user_id)
{
return user_id == "admin";
}
}
以上访问路径是/aaa/{user_id}
,最后{user_id}
相应的内容会注入到对应的user_id
参数。
可以通过Url
来描述多个参数,但参数间的分隔符不支持/
,定义如下:
[Controller(BaseUrl ="user")]
public class Home
{
[Get(Route ="/aaa/{user_id}-{pwd}")]
public bool Query(string user_id,string pwd)
{
return user_id == "admin";
}
}