C# 从mvc4应用程序调用WebApi RTM的正确方法
所以有大量的例子,但是找到与rtm比特相关的例子似乎有点难 我有两个项目,一个是WebApi,另一个是MVC4.NET4.5应用程序 我想对某个项目进行更新 我的API中有一个控制器C# 从mvc4应用程序调用WebApi RTM的正确方法,c#,.net,asp.net-mvc-4,asp.net-web-api,C#,.net,Asp.net Mvc 4,Asp.net Web Api,所以有大量的例子,但是找到与rtm比特相关的例子似乎有点难 我有两个项目,一个是WebApi,另一个是MVC4.NET4.5应用程序 我想对某个项目进行更新 我的API中有一个控制器 [HttpPut] public MyModel Update(MyModel model) { //make update return model; } 这是正确的吗?我应该使用HttpResponseMessage而不是仅仅使用MyModel类
[HttpPut]
public MyModel Update(MyModel model)
{
//make update
return model;
}
这是正确的吗?我应该使用HttpResponseMessage而不是仅仅使用MyModel类吗?我希望尽可能多地返回正确的httpstatus详细信息,因为我希望向第三方开放此api,而不仅仅是我的应用程序
从我的控制器从我的mvc应用程序调用这个api我该怎么做 最好的方法是像这样使用HttpResponseMessage:
[HttpPut]
public HttpResponseMessage Update(MyModel model)
{
if(notfound)
{
return this.Request.CreateResponse(HttpStatusCode.NotFound);
}
//make update
return this.Request.CreateResponse<MyModel>(HttpStatusCode.OK, Model);;
}
如果您想使用httpstaus代码进行响应,则必须返回HttpResponseMessage 您可以选择使用通用方法返回BOs,并从操作和其他mvc应用程序代码中调用它。然后,您的rest调用将始终使用状态代码包装,而其他调用将获得一个对象
[HttpPut]
public MyModel Update(MyModel model)
{
return base.Request.CreateResponse<MyModel>(HttpStatusCode.OK, UpdateModel(model));;
}
[NonAction]
internal MyModel UpdateModel(MyModel model)
{
//make update
return model;
}
[HttpPut]
公共MyModel更新(MyModel)
{
返回base.Request.CreateResponse(HttpStatusCode.OK,UpdateModel(model));;
}
[不行动]
内部MyModel更新模型(MyModel模型)
{
//更新
收益模型;
}
谢谢Erwin,从mvc应用程序调用此方法如何?
[HttpPut]
public MyModel Update(MyModel model)
{
return base.Request.CreateResponse<MyModel>(HttpStatusCode.OK, UpdateModel(model));;
}
[NonAction]
internal MyModel UpdateModel(MyModel model)
{
//make update
return model;
}