Я пытаюсь передать некоторый JSON по строке запроса GET-запроса контроллеру MVC, но, похоже, не могу заставить его пройти как-нибудь иначе, чем null
.
Ajax (через TypeScript)
$.ajax(url, {
method: 'GET',
data: { 'request': JSON.stringify(this.request) },
dataType: 'json'
})
Контроллер MVC
[Route("stuffAndThings/{request?}")]
public async Task<HttpResponseMessage> GetStuff(requestType request)
{
}
Поскольку это TypeScript, передаваемый объект является представлением TypeScript модели C #, включая несколько пользовательских объектов
TS класс
class requestType {
pageData: PageData;
}
C # класс
public class requestType
{
public PageData pageData { get; set; } = new PageData();
}
Глядя на запрос в devtools, кажется, что он правильно передается в строке запроса, но всегда поступает на контроллер как нулевой.
Чего мне не хватает?
EDIT
Чтобы ответить на пару комментариев, метод контроллера предназначен исключительно для извлечения данных и в будущем может превратиться в метод WebAPI, поэтому я хотел бы сохранить его как запрос GET, если это возможно.