2013-09-20 2 views
0

Json посылается от клиента к моему апи контроллеруДесериализация входящего сообщения

Сообщения

{"todo":{"title":"jo","isCompleted":false,"isDeleted":false,"testFK":null}} 

Я перечислю различные методы стороны потребляющего сервера, которые должны получать это сообщение превращается в объект

public void Post(TaskEntity todo) 
{ 
    using (var context = new ToDoEntities()) 
    { 
     context.Tasks.Add(todo.ToEf()); 
     context.SaveChanges(); 
    } 
} 

todo параметр - null.

public void Post(UpdateTodoInputMessage message) 
{ 
    using (var context = new ToDoEntities()) 
    { 
     context.Tasks.Add(todo.todo.ToEf()); 
     context.SaveChanges(); 
    } 
} 

класс Message

namespace MvcApplication1.Messages 
{ 
    [DataContract] 
    public class UpdateTodoInputMessage 
    { 
     [DataMember] 
     public TaskEntity todo { get; set; } 
    } 
} 

todo свойство класса сообщений равно нулю.

Если я изменяю почтовый метод на строку, то мой клиент получает 405 Метод не разрешен.

public void Post(string message) 
{ 
    using (var context = new ToDoEntities()) 
    { 
     // context.Tasks.Add(todo.todo.ToEf()); 
     // context.SaveChanges(); 
    } 
} 

Я растерялся и хотел бы некоторую помощь, чтобы как десериализация строки происходит, и почему я получаю эти странные результаты.

+0

обнаружено, что для задачи нужен пустой конструктор – Billybonks

ответ

1

Причина в том, что у моего класса Entity Entity не было пустого конструктора

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