【发布时间】:2016-05-27 14:00:37
【问题描述】:
我正在尝试使用 JSON 对象将数据传递给我的 Web API。发送单个对象似乎可以正常工作,但是一旦我输入第二个参数,第二个对象甚至似乎都没有在服务器端初始化?
请查看下面的代码,看看我是如何处理数据参数的
[HttpPost("")]
public JsonResult Post([FromBody]Log_Header headerData,
[FromBody]Log_Detail detailData)
{
return Json("Test");
}
上面的每个类都有简单的字符串数据,例如下面的类:
public class Log_Header
{
public int Id { get; set; }
public string Name{ get; set; }
}
发送数据示例:
var header = {
Id: 0,
Name: "Test 3",
}
var detail = {
Id: 0,
Desc: "Test 1",
}
$http({
method: 'POST',
url: "api/addLog",
data : {
header: header,
detail: detail
}
})
这只是演示数据。
我尝试过以几种不同的方式发送数据,例如:
var data = {
Id: 0,
Name: "Test 3",
LogID: 0,
Desc: "Test",
}
但似乎没有任何东西可以正常工作,我猜我设置的网络 API 不正确?
总的来说,问题是[FromBody]Release_Log_Detail detailData 根本没有接收到任何数据,当从断点查看对象时,它显示为null。
如果有人有任何想法,请在下面发表评论或回答。如果您需要我的更多信息,请询问。
【问题讨论】:
-
您仍在发布一个对象,现在它有两个属性也是对象。创建一个具有两个属性的 c# 对象,称为正确类型的 header 和 detail,并将其作为 Post 的输入。
-
@Mant101 我尝试了很多方法(正如我对许多人所说的在这个问题中发布的方法)。你说的好像也没用。
-
@Lankymart 您发布的第一个似乎回答了我的问题。这可以作为那个人的欺骗而关闭。感谢您为我找到帖子,我自己一定错过了。
标签: c# json asp.net-mvc asp.net-web-api