Nexmo SMS 서비스에 가입했으며 인바운드 SMS에 대한 콜백 URL을 제공합니다. SMS 수신 확인의 통지 할 때 POST 요청은 다음 JSON 구조를 제공합니다포스트 요청에서 하이픈으로 연결된 속성 이름을 사용하는 .NET 코어 모델 바인딩
{
"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