我正在尝试在 MVC 4 上使用 RESTful 来给我一个可以在 WP/Android/Iphone 上使用的 API,所以对于初学者来说(这个方法稍后会重新制作,这只是为了测试目的)
我有一个 WP 应用程序,它与服务器通信并向它发送一个 json 对象并使用 restclient 接收一个 json 对象
RestClient client = new RestClient();
client.BaseUrl = "http://*****.***/API/Account/Login";
RestRequest request = new RestRequest();
request.Method = Method.POST;
request.RequestFormat = DataFormat.Json;
User user = new User
{
UserName = "muhcow",
Password = "123456"
};
request.AddBody(user);
client.ExecuteAsync(request, response => {
System.Diagnostics.Debug.WriteLine("jo");
});
然后我有我的服务器代码,我首先尝试制作一个普通的控制器,然后只制作一个名为 account 的控制器和一个名为 login 的操作,并使用 httppost,这工作得很好,但从我可以读到的不是休息的方式!
所以我尝试制作一个从 apicontroller 继承的控制器,但现在我遇到了问题,甚至被路由到 LoginController 中的 Post 操作
所以帖子在 Domain\API\Login\LoginController
而post动作是这样的
public string Post(Login loginModel)
{
LoginResponse loginResponse = new LoginResponse();
if (Membership.ValidateUser(loginModel.UserName, loginModel.Password))
{
loginResponse.Success = true;
loginResponse.Token = "11111111111111111";
return Json.Encode(loginResponse);
}
loginResponse.Success = false;
loginResponse.Error = 1;
return Json.Encode(loginResponse);
}
但使用未命中的当前代码(使用断点检查)
我还没有改变 MapRoute 所以它只是
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"API_default",
"API/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}