我在 ASP.NET WEB API 应用程序中有一个端点,如下所示:
[HttpPost]
public dynamic Save(string userId, List<MyObject> data)
{
return null;
}
public class MyObject
{
public string name { get; set; }
public List<itemAttribute> items { get; set; }
}
public class itemAttribute
{
public int id { get; set; }
public string typeName { get; set; }
public string fullName { get; set; }
public bool Checked { get; set; }
}
我正在尝试发布以下 JavaScript 对象
data = [
{
"name": "One",
"items": [
{
"fullName": "name",
"Checked": true,
"typeName": "type 1",
"id": 1
},
{
"fullName": "nametwo",
"Checked": true,
"typeName": "some type 2",
"id": 2
}
]
}
]
当我到达终点时,data
以空列表的形式出现。我没有看到任何具体错误。请帮忙。
现在我正在使用 fire fox 的 REST 客户端发布数据
最佳答案
您不应该尝试传递多个参数。将签名更改为:
public dynamic Save([FromBody] List<MyObject> data)
此外,在将对象传递给 Web API 之前尝试将其字符串化:
JSON.stringify(data);
关于javascript - 无法将 JavaScript 对象发布到 asp.net web api 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26995814/