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

那么问题又来了,如果我的方法很多,每个都加上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);
}
}这样就能省好多代码了。
编程那点事
