WebApi GET не работает в Почтальоне, но работает в chrome - PullRequest
0 голосов
/ 21 марта 2020

У меня проблемы с настройкой простого WebApi. Я считаю, что проблема с моим кодом WebApi. Когда я нажимаю на эту конечную точку в Chrome, я вижу сообщение «WebApi запущен и работает». С моим HttpClient, который находится в консольном приложении, я не получаю ответ. Тогда я попытался с почтальоном, и я также не получаю ответ. Что не так с моим WebApi?

В HttpClient я добавил два пакета Nuget: Microsoft.As pNet .WebApi.Client и Newtonsoft. Json

Оба httpClient и WebApi написаны на .Core 3.1

Код в WebAPI:

public class TestController : Controller
{
    public TestController ()
    {
    }

    [HttpGet("api/test")]
    public string Get()
    {
      return "WebApi is up and running.";
    } 
}

Код в HttpClient

        HttpClient client = new HttpClient(new HttpClientHandler()
        {
            UseDefaultCredentials = true
        });
        // Update port # in the following line.
        client.BaseAddress = new Uri("http://localhost:44335/");
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Accept.Add(
            new MediaTypeWithQualityHeaderValue("application/json"));

        HttpResponseMessage get = await client.GetAsync("api/test");

1 Ответ

0 голосов
/ 21 марта 2020

Поскольку @ Четан Ранпария упоминается в разделе комментариев, вам нужно использовать Content.ReadAsStringAsync();, чтобы получить результат асинхронно:

HttpResponseMessage get = await client.GetAsync("api/test");
var content = await get.Content.ReadAsStringAsync();
...