0

我想创建一个将接受应用程序/xml 内容的操作。

到目前为止,基本上我已经创建了这个。

namespace App.Areas.Test.Controllers
{

    public class UserModel
    {
        public int Id { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public int Age { get; set; }
    }


    public class TestController : ApiController
    {
        [HttpPost]
        public UserModel Test([FromBody] UserModel um)
        {
            return um;
        }
    }
}

当我发布以下内容时

    <?xml version="1.0" encoding="UTF-8" ?>
    <UserModel>
    <FirstName>Some Name</FirstName>
    <LastName>Some Last Name</LastName>
    <Age>30</Age>
    </UserModel>

我最终得到了这个回应

<UserModel i:nil="true" />

我尝试删除FromBody属性,但这也无济于事。由于某种原因,内容不绑定到现有模型。

4

2 回答 2

0

您是否添加了Content-Type:application\xml标头?您需要通知序列化程序正文的格式。

于 2015-06-24T14:01:20.493 回答
0

这会成功的......

var xml = GlobalConfiguration.Configuration.Formatters.XmlFormatter;
xml.UseXmlSerializer = true;
于 2015-06-24T21:10:43.937 回答