我在将对象列表作为WebApi Odata上的参数传递时遇到问题。 我有两个班:
public class Test{
public int Id {get; set;}
public string Desc {get; set;}
public Tests[] Tests{ get; set; }
}
public class Tests{
public int Entry1 {get; set;}
public int Entry2 {get; set;}
}
在客户端,我将参数作为对象传递:
var postData = {
onTest: {
id: data.Id,
desc: data.Desc
tests: data.Tests // here there is list of two objects
}
};
和WebApiConfig:
builder.EntitySet<Test>("Tests");
var onTest = builder.EntityType<Test>().Collection.Action("UpdateTest");
onTest .EntityParameter<Test>("onTest");
当我只发送Id和Desc时,它们会被传递给控制器动作,但是当我包含Test列表时,接收到的参数为空。
任何建议我如何通过参数列表通过参数测试控制器?
答案 0 :(得分:3)
试试这个:
onTest.CollectionEntityParameter<Test>("onTests");
FYI相关文件:http://odata.github.io/WebApi/#04-07-action-parameter-support