我有一个HTTP动词的动作方法:POST接受来自body的List<Student>
学生对象作为动作方法的输入参数之一:
[Route("{Id:int}/save", Name = "SaveStudent")]
[HttpPost]
public IHttpActionResult AddStudent(int Id,[FromBody]List<Student> students)
{
return Ok<List<Student>>(students);
}
现在,当我尝试使用以下请求详细信息从Fiddler测试上述方法时:
{ &#34;学生&#34;:[ { &#34; name&#34;:&#34; Test&#34;, &#34; rollno&#34;:null, &#34; totalmarks&#34;:null } ] }
我收到400错误请求错误。 谁能帮助我知道我到底错过了什么?
答案 0 :(得分:1)
数组的格式不正确,应该是这样的:
[{name: "Test", rollno: null, totalmarks: null }, {name: "Test2", rollno: null, totalmarks: null }]
C#中使用的模型类
public class Student {
public string Name { get; set; }
public int RollNo { get; set; }
public int TotalMarks { get; set; }
}
在webapi初始化期间添加了额外的json格式解析器。
config.MapHttpAttributeRoutes();
var jsonFormatter = config.Formatters.OfType<JsonMediaTypeFormatter>().First();
jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
我希望这会帮助您立即开始工作