Вызов WebApi из консольного приложения не работает - PullRequest
0 голосов
/ 19 июня 2020

У меня есть WebApi, который работает на Azure и полностью протестирован через Postman

enter image description here

Этот API принимает 2 заголовка

Content-Type: application/json
AppToken: {{AppToken}}

Я хочу вызвать этот API из консольного приложения и подумал, что это довольно простой процесс. Вот моя основная программа

static void Main(string[] args)
   {
            HttpClient client = new HttpClient();
            client.BaseAddress = new Uri("BASE_ADDRESS/");
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Add("AppToken", "MY_APP_TOKEN_VALUE");


        // Call API to create the registration
        CreateRegistration(client).Wait();
    }
public static async Task CreateRegistration(HttpClient client)
        {
            using (client)
            {
                try
                {
                    Registration reg1 = new Registration { email = "test@ssdafsds.com", clientId = 2342342, registrationId = 23423, ProgramId = 13 };
                    HttpResponseMessage responseMessage = await client.PostAsJsonAsync("api/auth/register", reg1);

                    responseMessage.EnsureSuccessStatusCode();
                    // Handle success
                }
                catch (Exception ex)
                {
                    // Handle failure
                    Console.WriteLine(ex.StackTrace);
                }
            }
        }

Я получаю внутреннюю ошибку сервера как «Фразу причины» с кодом состояния 500. Я не уверен, почему я получаю эту ошибку. Я должен получить 201 Created as postman

Есть идеи, как решить эту проблему?

1 Ответ

0 голосов
/ 22 июня 2020

Я совершил ошибку, передав идентификатор программы, которого на самом деле нет в моей базе данных, что привело к ошибке FK_Reference и возникновению этой проблемы. Спасибо всем за помощь.

...