Я использую метод Angularjs $ Resource $ сохранить CRUD представить данные в RESTFull .Net Web API веб-сервиса:
phone.$save({}, function (data) {
alert('success');
}, function (data) {
alert('failed');
});
Где телефон объект $ ресурс. Вызов успешно передает объект телефона к 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;
}
, но при возвращении ответа отказавший обратного вызова срабатывает со следующей ошибкой:
"The 'ObjectContent`1' type failed to serialize the response body for content type 'application/json; charset=utf-8'."
В Angularjs документации для $ сохранить функцию мы имеют:
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?
Спасибо!