是否可以将 ViewModel 对象传递给 WebApi 控制器操作而不是单独的参数?
而不是使用:
public class ContactsController : ApiController
{
public IEnumerable<Contact> GetContacts(string p1, string p2)
{
// some logic
}
}
我想使用:
public class ContactsController : ApiController
{
public IEnumerable<Contact> GetContacts(TestVM testVM)
{
// some logic
}
}
public class TestVM
{
public string P1 { get; set; }
public string P2 { get; set; }
}
这似乎对我不起作用。当我调用 /api/contacts/?P1=aaa&P2=bbb 时,testVM 对象不会被填充(空)。
此外,我希望 TestVM 定义验证属性并在我的 API 控制器中使用 ModelState.IsValid。