我正在使用Angularjs$Resource$save CRUD方法将数据提交到RESTFull.Net Web API Web服务:
phone.$save({}, function (data) {
alert('success');
}, function (data) {
alert('failed');
});
其中phone是$resource对象。调用成功地将电话对象传递到Web API:
public async Task<Phone> Post([FromBody]Phone phone)
{
try
{
if (ModelState.IsValid)
{
phone.CreatedDate = DateTime.Now;
this.Uow.Phones.Add(phone);
this.Uow.Commit();
return phone;
}
}
catch (Exception ex)
{
throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError));
}
return null;
}
但当返回响应时,会触发失败的回调,并出现以下错误:
“”ObjectContent“1”类型未能序列化的响应正文
内容类型‘application/json;字符集=utf-8'。"
在Angularjs的$save函数文档中,我们有:
card.$save();
// POST: /user/123/card/456 {id:456, number:'1234', name:'J. Smith'}
// server returns: {id:456, number:'1234', name: 'J. Smith'};
这意味着响应应该返回相同的对象,但带有更新的字段。
如何从Web Api返回有效的响应?
谢谢