-
-
Notifications
You must be signed in to change notification settings - Fork 176
自定义控制器访问路径
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";
}
}