我有一个web api,它接受一个类作为参数(MyClass)。其中属性是类型列表。我如何传递参数,以便web api在该属性字段中收到一个列表。
当我使用REST客户端在POST正文中传递 Id = 1& Name = ABC& MyList = [{AnotherClassName:" The Name"}] 时,我得到了值仅在Id和Name字段中。我如何在POST主体中发送params,以便我收到一个" AnotherClass"在" MyList"
中public class MyClass
{
public int Id { get; set; }
public string Name { get; set; }
public List<AnotherClass> MyList { get; set; }
}
public class AnotherClass
{
public int AnotherClassName { get; set; }
}
由于
答案 0 :(得分:0)
您需要像这样传递JSON
{"Id":1,"Name":"abc","MyList":[{"AnotherClassName":1}]}
实际上你在MyList对象中犯了一个错误。属性 AnotherClassName 数据类型为int
,您将其传递给string value
,并且还附加了大括号{....}
的JSON。
在发送之前,您应该使用NewtonSoft.JSON将对象转换为json的更好方法。
MyClass mc = new MyClass();
mc.Id = 1;
mc.Name = "abc";
List<AnotherClass> acl = new List<AnotherClass>();
acl.Add(new AnotherClass { AnotherClassName = 1 });
mc.MyList = acl;
var serializedData = JsonConvert.SerializeObject(mc);