Json 从客户端发送到我的 api 控制器
信息
{"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
参数为空。
public void Post(UpdateTodoInputMessage message)
{
using (var context = new ToDoEntities())
{
context.Tasks.Add(todo.todo.ToEf());
context.SaveChanges();
}
}
消息类
namespace MvcApplication1.Messages
{
[DataContract]
public class UpdateTodoInputMessage
{
[DataMember]
public TaskEntity todo { get; set; }
}
}
消息类的todo
属性为空。
如果我将 post 方法更改为字符串,那么我的客户端会收到405 Method not allowed。
public void Post(string message)
{
using (var context = new ToDoEntities())
{
// context.Tasks.Add(todo.todo.ToEf());
// context.SaveChanges();
}
}
我很茫然,希望得到一些帮助,了解字符串的反序列化是如何发生的,以及为什么我会得到这些奇怪的结果。