所以我有一个动作方法需要一个花哨的Cart
对象:
[HttpPost]
public JsonResult BuildTransaction(Cart cart) { }
Cart
型号:
public class Cart
{
public Guid UserId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public Address Address { get; set; }
}
我在路由上扔了一些 JSON,看起来像这样:
object cart = new {
UserId = uid,
FirstName = "John",
LastName = "Travlota",
Address = new {
Line1 = "Ramsdean Grange",
Town = "boom town",
PostCode = "dd7 7sx"
}
};
var request = client.PostAsJsonAsync("BuildTransaction", cart);
结果,我的控制器中有一个 Cart 类型的购物车可以玩。极好的!
我的问题是,.NET 如何进行这种映射?我想象它在某个地方,OnActionExecute
但它是做什么/如何做到这一点的。
如果我想模仿这个功能,我会怎么做?如果没有 MVC 似乎完全有能力做到这一点,我真的需要像 AutoMapper 这样的外部工具吗?