我有一个基本的后期操作,适用于 RecordIem
的单个对象。
我想做的是通过使用相同格式发布一组请求来批量执行相同的操作。
例如:
public HttpResponseMessage Post(RecordItem request)
{
var recordItems = _recorder.RecordItem(request);
return Request.CreateResponse(HttpStatusCode.OK, recordItems);
}
当我发布 Json 时:
{
Id : "7UP24fVkGOxSjrcclghe_mP2-po",
System : 1,
Environment : "Production"
}
一切正常。我想发布类似于以下内容的 Json:
{
Id : "7UP24fVkGOxSjrcclghe_mP2-po",
System : 1,
Environment : "Production"
},
{
Id : "ClPE188H4TeD2LbQPeV_EzCsKVM",
System : 1,
Environment : "Production",
Label : "RestTest1"
},
{
Id : "SAWTMJzm-_AFqoNw70-gLeUzB4k",
System : 1,
Environment : "Production"
}
并有一个类似于下面的方法来选择它:
public HttpResponseMessage Post(RecordItem[] request)
{
var recordItems = _recorder.RecordItems(request);
return Request.CreateResponse(HttpStatusCode.OK, recordItems);
}
我尝试在数组上同时使用 [FromBody]
和 [ModelBinding]
属性,并尝试使用不同的类型(List、IList、IEnumerable),但没有有用。使用 [FromBody]
时,请求参数为 null
,使用 [ModelBinding]
时,列表为空。我试过同时使用两者,但都不起作用。
我宁愿不必在我的客户端中求助于循环单个帖子。
谢谢
最佳答案
无论他们尝试什么都只是得到一个空数组,试试这个:
var request = $.ajax({
dataType: "json",
url: "/api/users",
method: "POST",
data: { '': postData}
});
数据必须是单个匿名对象而不是原始数组。
找到信息 here .
关于c# - 使用 MVC Web API 发布对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16042853/