MVC 6 XML API post 不会绑定到模型

MVC 6 XML API post won't bind to model

我的最终目标是在收到新 SMS 时接收 Twilio XML 帖子,但现在我坚持将 XML 数据绑定到模型。

ASP.NET5、MVC 6

我启用了 XML 格式化程序: services.AddMvc().AddXmlDataContractSerializerFormatters().AddXmlSerializerFormatters();

我有一个简单的模型class:

public class XmlTest
{
    public string PropertyOne { get; set; }
    public string PropertyTwo { get; set; }
}

还有一个简单的API方法:

[HttpPost]
public IActionResult Post(XmlTest xmlTest)
{
    //Application Logic
}

使用 PostMan,我正在 posting 这个 XML 数据:

<?xml version="1.0" encoding="UTF-8"?>
<XmlTest>
   <PropertyOne>ValueOne</PropertyOne>
   <PropertyTwo>ghi789</PropertyTwo>
</XmlTest>

当数据被 posted 时,xmlTest 被初始化但是 PropertyOne 和 PropertyTwo 的值没有被设置。如果我将 [FromBody] 属性添加到 XmlTest,那么当 post 出现时 xmlTest 的值为 null。

任何人都可以帮助解决我在这里做错的事情吗?

JSON 工作正常,但 Twilio 只会 post xml.

谢谢!

这里是 Twilio 布道者。

只是为了确保我理解您的要求,您想接收 Twilio 在收到新消息时发送给消息请求 URL 的参数吗?

如果我理解的没错,那么就没有必要处理XML。 Twilio 发送的参数是表单编码值,因此您可以像从 HTML 表单向控制器发送值一样处理它们:

public ActionResult Incoming(string Body, string From, string To) {

    //you can return TwiML back to Twilio here or nothing

}

希望对您有所帮助。