У меня есть контроллер веб-api, которому я бы хотел опубликовать два параметра. Один из них - это плоский int ID, а другой - IDictionary или аналогичный эквивалент.
[HttpPost]
public void DoStuff(int id, [FromBody]IDictionary<int, int> things)
{
}
var things = new Array();
things.push({ 1: 10 }); // tried things.push({ Key: 1, Value: 10 })
things.push({ 2: 11 });
$.ajax({
url: '/api/DoStuff?id=' + id,
data: '=' + JSON.stringify(things), // tried what seems like 100 different things here
type: 'POST',
dataType: 'json'
});
Независимо от того, что я пытаюсь использовать в параметре данных (data: things
, data: '=' + things
), словарь не доходит до контроллера api. Он либо имеет значение null, либо имеет одну фиктивную запись ({0, 0}).
Я также попытался отправить словарь в Uri - нет.
Как я могу отправить пару слов словаря или ключа в контроллер api?