gpt4 book ai didi

c# - 如何将复杂类作为参数传递给 httpget

转载 作者:太空狗 更新时间:2023-10-29 23:35:57 27 4
gpt4 key购买 nike

我希望能够将复杂类型作为我的 HttpGet 方法的参数进行处理。

当 api 方法不接受任何参数时,方法 pickNFirstElements 起作用,但当我尝试传递对象时不起作用。

我有一个想法,我需要通知我的 ajax 查询数据是单个对象,但我不知道这是如何完成的,因为我认为这是 TodoItem 类中 BindProperties 标记的要点。

[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; }
}
}

最佳答案

您的代码实际上(几乎)可以正常工作。您在这一行中只有一个拼写错误:

数据:{名称:item.Name,isComplete:item.IsComplete,Id:Item.Id},

应该是小写的“item”而不是“Item”:

data: { 名称: item.Name, isComplete: item.IsComplete, Id: item.Id },

在浏览器中检查您的控制台,您会发现它找不到对象“Item”。

关于c# - 如何将复杂类作为参数传递给 httpget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56806216/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com