2013-04-16 5 views
0

Я использую метод 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?

Спасибо!

ответ

0

Оказывается, это была круговая эталонная ошибка, которую я решил, следуя инструкциям here

Смежные вопросы