Как воспользоваться внешним API в Web API на C#?

Как получить доступ к API по ссылке или из JSON для получения данных из базы данных или внешнего ресурса, например, httpbin.org/get?
  • 3 октября 2023 г. 10:47
Ответы на вопрос 3
В C# вы можете использовать класс `HttpClient` для отправки HTTP запросов к внешнему API. Ниже приведен пример кода, демонстрирующего, как получить данные из API по ссылке или из JSON.

```csharp
using System;
using System.Net.Http;
using System.Threading.Tasks;

public class Program
{
    static HttpClient client = new HttpClient();

    static async Task Main(string[] args)
    {
        string url = "http://httpbin.org/get";
        // отправка GET запроса и получение ответа
        HttpResponseMessage response = await client.GetAsync(url);

        if (response.IsSuccessStatusCode)
        {
            // чтение содержимого ответа
            string responseContent = await response.Content.ReadAsStringAsync();
            Console.WriteLine(responseContent);
        }
        else
        {
            Console.WriteLine("Ошибка при выполнении запроса: " + response.StatusCode);
        }
    }
}
```

В этом примере мы создаем экземпляр класса `HttpClient` и используем его для отправки GET запроса по указанной ссылке. Метод `GetAsync` возвращает объект `HttpResponseMessage`, представляющий ответ от сервера. Затем мы проверяем статус код ответа. Если код успешный (200-299), мы вызываем метод `ReadAsStringAsync`, чтобы прочитать содержимое ответа в виде строки.

Таким образом, данный код получит и выведет содержимое ответа от `httpbin.org/get`.
Используйте метод GetFromJsonAsync(url) класса HttpClient. В параметре T указывается тип объекта, который нужно десериализовать, а в параметре url - адрес, по которому нужно отправить запрос. Например, для получения данных с httpbin используйте следующий код: client.GetFromJsonAsync("httpbin.org/get"). Класс SomeObject нужно создать самостоятельно. Наметки для создания класса можно найти в туториале. 


Используйте метод GetFromJsonAsync(url) класса HttpClient. В параметре T указывается тип объекта, который нужно десериализовать, а в параметре url - адрес, по которому нужно отправить запрос. Например, для получения данных с httpbin используйте следующий код: client.GetFromJsonAsync("httpbin.org/get"). Класс SomeObject требуется создать самостоятельно и взять на заметку некоторые подсказки для его создания из туториала.
Похожие вопросы