我最终的目标是在收到新的短信时收到Twilio XML帖子,但现在我仍然坚持将XML数据绑定到模型。
ASP.NET 5,MVC 6
我已启用XML格式化程序:
services.AddMvc().AddXmlDataContractSerializerFormatters().AddXmlSerializerFormatters();
我有一个简单的模型类:
public class XmlTest
{
public string PropertyOne { get; set; }
public string PropertyTwo { get; set; }
}
一个简单的API方法:
[HttpPost]
public IActionResult Post(XmlTest xmlTest)
{
//Application Logic
}
使用PostMan,我发布了这个XML数据:
<?xml version="1.0" encoding="UTF-8"?>
<XmlTest>
<PropertyOne>ValueOne</PropertyOne>
<PropertyTwo>ghi789</PropertyTwo>
</XmlTest>
发布数据时,会初始化xmlTest,但不会设置PropertyOne和PropertyTwo的值。如果我将[FromBody]
属性添加到XmlTest,那么发布帖子时xmlTest的值为null。
任何人都可以帮助解决我在这里做错的事吗?
JSON工作正常,但Twilio只发布xml。
谢谢!
答案 0 :(得分:1)
Twilio传道者在这里。
为了确保我理解您的要求,您希望在收到新消息时收到Twilio发送到MEssage请求URL的参数吗?
如果我理解正确,那么就没有必要处理XML。 Twilio发送的参数是表单编码值,因此您可以像处理HTML表单中的值到控制器一样处理它们:
public ActionResult Incoming(string Body, string From, string To) {
//you can return TwiML back to Twilio here or nothing
}
希望有所帮助。