別のパラメーターの代わりに、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 オブジェクトが読み込まれません (null)。
また、TestVM で検証属性を定義し、API コントローラーで ModelState.IsValid を使用したいと考えています。