Почему моя строка JSON, передаваемая в мой webapi, отображается как null?
Я пишу код для консольного приложения, которое отправляет HttpPostRequest в WebAPI, который позже будет отправлять электронные письма и текстовые сообщения группе людей. Эта информация хранится в виде строки JSON в консольном приложении и передается в WebAPI. При публикации я получаю StatusCode 200, указывающий на успешную операцию, но когда я проверяю API, я вижу, что переданное значение равно "null". Может кто-нибудь сказать мне, почему это происходит? Я включил код для консольного приложения и WebAPI.
Что я уже пробовал:
Контроллер WebAPI:
[ApiController] [Route("[controller]")] public class GeneratorStatusController : ControllerBase { Emails emailList = new Emails(); public GeneratorStatusController(IGeneratorService generatorService) { this.generatorService = generatorService; } static List<string> strings = new List<string>() { "value0", "value1", "value2" }; private readonly IGeneratorService generatorService; [HttpGet] public List<string> GetString() { return strings; } [HttpPost] public List<string> PostString(string input) { Console.WriteLine(input); // Send Emails Placeholder strings.Add(input); // When adding it to "strings", the value is null return strings; } }Консольное приложение, отправляющее запрос post:
static async Task SendPost(string machineName, List<string> emailAddresses, List<string> phoneNumbers) { string url = "https://localhost:44312/GeneratorStatus/"; HttpClient client = new HttpClient(); string name = JsonConvert.SerializeObject(machineName); string emails = JsonConvert.SerializeObject(emailAddresses); string phones = JsonConvert.SerializeObject(phoneNumbers); var jsonMessage = JsonConvert.SerializeObject(new[] {JsonConvert.DeserializeObject(name), JsonConvert.DeserializeObject(emails), JsonConvert.DeserializeObject(phones) }); Console.WriteLine(jsonMessage); var response = await client.PostAsync(url, new StringContent(jsonMessage, Encoding.UTF8, "application/json")); Console.WriteLine(response); }