在使用带有 ASP.NET Web API 的 XML 数据进行 POST 时,我无法让模型绑定工作。JSON 数据工作正常。
使用全新的 Web API 项目,这是我的模型类:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class PostResponse
{
public string ResponseText { get; set; }
}
这是我在控制器中的 post 方法:
public PostResponse Post([FromBody]Person aPerson)
{
var responseObj = new PostResponse();
if (aPerson == null)
{
responseObj.ResponseText = "aPerson is null";
return responseObj;
}
if (aPerson.FirstName == null)
{
responseObj.ResponseText = "First Name is null";
return responseObj;
}
responseObj.ResponseText = string.Format("The first name is {0}", aPerson.FirstName);
return responseObj;
}
我可以使用 Fiddler 的 JSON 成功运行它:
请求标头:
用户代理:提琴手
主机:localhost:49188
内容类型:应用程序/json;charset=utf-8
内容长度:38请求正文:
{"FirstName":"Tom","LastName":"Jones"}结果:
{"ResponseText":"名字是汤姆"}
传入 XML 时,Person 对象未正确水合:
请求标头:
用户代理:提琴手
主机:localhost:49188
内容类型:文本/xml
内容长度:79请求正文:
<Person>
<FirstName>Tom</FirstName>
<LastName>Jones</LastName>
</Person>结果:
<ResponseText>aPerson 为空</ResponseText>
据我了解,XML 应该类似于 JSON。关于我在这里缺少什么的任何建议?
谢谢,
跳过