1
我已经订阅了Nexmo短信服务,他们提供的短信接收回调URL。通知短信回执时POST请求提供了以下JSON结构:.NET核心模型在POST请求用连字符属性名称结合
{
"msisdn": "441632960960",
"to": "441632960961",
"messageId": "02000000E68951D8",
"text": "Hello7",
"type": "text",
"keyword": "HELLO7",
"message-timestamp": "2016-07-05 21:46:15"
}
使用下面的代码片段,我可以将所有的字段除了“消息时间戳”映射到我的SmsReceipt。没有填充消息时间戳字段。
public class SmsReceipt
{
public string msisdn { get; set; }
public string to { get; set; }
public string messageId { get; set; }
public string text { get; set; }
public string type { get; set; }
public string keyword { get; set; }
public string messagetimestamp { get; set; }
public string messageTimestamp { get; set; }
public string message_timestamp { get; set; }
}
[HttpPost("inboundsms")]
public async Task<IActionResult> Post([FromBody] SmsReceipt receipt)
{
return StatusCode(200);
}
我想这同样适用于传入的请求与其他特殊字符,如'。'任何想法不胜感激。
选项2的作品像魅力谢谢。我不知道Newtonsoft.Json是如此紧密地集成到.NET核心中。我现在将这个属性保存为一个字符串,因为即使DateTime转换爆炸,我仍然对接受收据抱有偏见。 – vipes