Я хотел бы иметь возможность обрабатывать сложный тип в качестве аргумента моего метода HttpGet.
Метод pickNFirstElements работает, когда метод api не принимает никаких параметров, но не когда я пытаюсь передать объект.
У меня есть идея, что мне нужно сообщить моему ajax-запросу, что данные представляют собой один объект, но я не знаю, как это сделать, так как я думал, что это точка тега BindProperties в классе TodoItem.
[HttpGet]
[Route("search")]
public async Task<ActionResult<TodoItem>> GetMatchingTodoItem([FromQuery]TodoItem todo)
{
// var name = todo.Name;
// var completed = todo.IsComplete;
return await _context.TodoItems.FirstAsync();
}
function pickNFirstElements() {
const item = {
Name: "dope",
IsComplete: false,
Id: 2
}
$.ajax({
type: "GET",
url: uri+"/search",
data: { name: item.Name, isComplete: item.IsComplete, Id: Item.Id },
cache: false,
success: function (return1) {
alert(return1.name);
}
})
};
namespace TodoApi.Models
{
[Microsoft.AspNetCore.Mvc.BindProperties(SupportsGet =true)]
public class TodoItem
{
public long Id { get; set; }
public string Name { get; set; }
public bool IsComplete { get; set; }
}
}