Как сделать веб-API принять почтовое сообщение с несколькими строки JSON
Код, над которым я работаю, - это API, который отправляет текстовое сообщение и электронную почту, когда генератор отключается. Когда генератор выключается, отправляется запрос post с именем машины, почтовым сообщением, списком электронных писем и списком телефонных номеров. Однако я не знаю, как отправить имя машины, почтовые сообщения, список электронных писем, телефонные номера в почтовый запрос и заставить почтовый запрос проанализировать список и отправить электронные письма и тексты. Я включил свой текущий код:
Что я уже пробовал:
Консольное приложение, которое отправляет сообщения:
static async Task SendPost(string machineName, string postMessage, List<string> emailAddresses, List<string> phoneNumbers) { string url = "https://localhost:44312/GeneratorStatus/"; HttpClient client = new HttpClient(); string name = JsonConvert.SerializeObject(machineName); string post= JsonConvert.SerializeObject(postMessage); string emails = JsonConvert.SerializeObject(emailAddresses); string phones = JsonConvert.SerializeObject(phoneNumbers); var jsonMessage= JsonConvert.SerializeObject(new[] {JsonConvert.DeserializeObject(name), JsonConvert.DeserializeObject(post), JsonConvert.DeserializeObject(emails), JsonConvert.DeserializeObject(phones) }); var response = await client.PostAsync(url, new StringContent(jsonMessage, Encoding.UTF8, "application/json")); Console.WriteLine(response); }
Мой контроллер API:
[HttpPost] public void PostString([FromBody] string jsonString) { emailList.SendEmail("fromEmail@gmail.com", <emails and phones> , <name>, <post>); }
Мой вопрос заключается только в том, как мне отформатировать свой контроллер API, чтобы он мог принимать и анализировать информацию "jsonMessage", а затем форматировать ее так, как я хотел выше?
ZurdoDev
Если все данные поступают в jsonString, то вам просто нужно google c# десериализовать json string, и у вас будет много примеров того, как его анализировать.
Afzaal Ahmad Zeeshan
JSON просто существует, чтобы помочь вам с обменом данными между сервером и клиентским приложением. Если ваша клиентская часть содержит стиль, то ваш сервер также должен иметь его.
Я хотел бы рекомендовать использовать шаблоны электронной почты; либо пользовательские, либо предоставленные поставщиком почты. Они помогут вам во многих отношениях.
Да, и всегда старайтесь предотвратить HTML-контент, который не проверен на XSS и другие скрипты подделки, это приведет к большим неприятностям для вашего сервиса в будущем.