У меня есть следующий сложный объект в JavaScript, который содержит параметры фильтра
var filter={caseIdentifiter:'GFT1',userID:'2'};
который я хочу передать контроллеру ASP.NET MVC4 WebApi GET
[HttpGet]
public IEnumerable<JHS.Repository.ViewModels.CaseList> Get([FromBody]Repository.InputModels.CaseListFilter filter)
{
try
{
return Case.List(filter);
}
catch (Exception exc)
{
//Handle exception here...
return null;
}
}
с помощью jQuery ajax-вызова
var request = $.ajax({
url: http://mydomain.com/case,
type: 'GET',
data: JSON.stringify(filter),
contentType: 'application/json; charset=utf-8',
cache: false,
dataType: 'json'
});
Объект "фильтр" в методе контроллера ASP.NET "null". Если я изменю его на POST, объект фильтра будет передан правильно. Есть ли способ передать сложный объект GET?
Я не хочу выделять параметры для URL-адреса, так как их будет несколько, что сделает его неэффективным, было бы сложно иметь необязательные параметры, и таким образом подпись метода остается постоянной, даже если новые параметры.