我有这样的API方法:如何在Web API控制器中处理“Not Found”错误 - Get Method,MVC 4?
[HttpGet]
public MyTable GetMyTable(byte id, string langid)
{
MyTable mytable = db.MyTables.Find(id, langid);
if (mytable == null)
{
throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
}
return mytable;
}
目前,它抛出NOTFOUND例外,但我不希望它抛出异常,而不是我要在规定的入学它没有发现JSON格式的消息来获得。
我可以使用HttpResponseException添加try/catch块,但此方法返回模型的实例,而不是HttpResponseMessage。
注:我使用MVC 4,Visual Studio 2010中,4.3的EntityFramework
我应该在上面的方法改变?
P.S.它会更好,如果我只是返回创建的空实例与
myTable = db.MyTableDbSet.Create();
做什么包,我需要包括使用IHttpActionResult和NOTFOUND。它似乎无法解决这些问题。当我右键单击它们时,我没有得到“解析”选项? – Vlad
using System.Web.Http; –
是的,我有System.Web.Http。我正在使用MVC 4,Visual Studio 2010,EntityFramework 4.3它不认识它。看来我使用的是旧版的Web API? – Vlad