我试图从我的webAPI控制器的POST方法之一发送响应。在数据库中,这些值得到保存,但在try和catch中发送响应时,抛出以下异常。ASP.NET WebAPI发送响应错误
异常消息:“值不能为空参数名称:请求。”
控制器方法代码:
[HttpPost]
public HttpResponseMessage AddEmployee(Employee emp)
{
try
{
using (EmployeeEntities dbEntity = new EmployeeEntities())
{
dbEntity.Configuration.LazyLoadingEnabled = false;
dbEntity.Employees.Add(emp);
dbEntity.SaveChanges();
return Request.CreateResponse(HttpStatusCode.Created, emp); // EXCEPTION IS THROWN HERE
}
}
catch(Exception ex)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message);
}
}
请让我知道我需要做的来解决这个问题。谢谢。
调用从如下一MVC的控制器方法的API控制器的方法,
EmployeeController empCtrl = new EmployeeController();
empCtrl.AddEmployee(emp);
你可以在你调用这个方法的地方添加你的代码吗? – zzT
@zzT更新了我的问题,并详细介绍了我所说的API控制器方法。请检查。 – Manju
@Manju你为什么手动创建控制器?该API创建它作为请求流的一部分。通过手动创建它,你不会填充其他所需的属性,比如'Request',这就是为什么你的'Request'是'null'的原因。 – Nkosi