编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

WebApi自定义路由Route和RoutePrefix的用法

WebApi中自定义路由可以通过Route来实现,具体如下。

我定义了AccountController继承自ApiController,Route是这样写的,具体的代码如下:

public class AccountController : ApiController
{
    [HttpGet]
    [Route("api/Account/Login")]
    public HttpResponseMessage Login()
    {
        IDictionary<String, Object> result = new Dictionary<String, Object>();
        result.Add("userName", "codingwhy");
        result.Add("password", "123456");
        result.Add("age", 28);
        return ObjectToJson.toJson(result);
    }
}

那么我们前台可以这么访问:http://localhost:6568/api/Account/Login

WebApi访问返回的结果

那么问题又来了,如果我的方法很多,每个都加上http:///api/Account/是不是觉得和麻烦?那么此时就需要用到RoutePrefix,我们在AccountController类最外层加上

[RoutePrefix("api/Account")]

就行了。具体代码如下:

[RoutePrefix("api/Account")]
public class AccountController : ApiController
{
    [HttpGet]
    [Route("Login")]
    public HttpResponseMessage Login()
    {
        IDictionary<String, Object> result = new Dictionary<String, Object>();
        result.Add("userName", "codingwhy");
        result.Add("password", "123456");
        result.Add("age", 28);
        return ObjectToJson.toJson(result);
    }
}

这样就能省好多代码了。

未经允许不得转载: 技术文章 » .NET编程 » WebApi自定义路由Route和RoutePrefix的用法