WebApi中路由你不知道的事情

来源:互联网 发布:商家服务规范 淘宝 编辑:程序博客网 时间:2024/05/16 06:51

Web Api 的路由有两种方式,一种是在RouteConfig.cs文件(默认是这个名字)配置MapApiRoute;另一种是在Action上使用RouteAttribute特性。

这两种都可以百度到,而且很多很多一样的大抄文章。


有一个细节貌似网上没人指出来

如果路由中没有参数的占位符,而则API的参数必须用一个对象


例如

[Route("api/account/login")]
public string Login(LoginModel model)
{
      //......to do
}

访问这个api就是api/account/login,同时你得提供model中相应的参数,不然无法找到这个路由


如果你是非对象的参数

[Route("api/account/{email}/login")]
public string Login(string email){ .... }


参数是:email,但是路由中必须有一个同名的占位符作为参数,不然也同样会报404


总结

如果路由中无占位符,1、无参数;2、需要实体作为传值对象

如果路由中有参数占位符,个数必须于参数一样


2 0