Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpApSvc 480 of 509 menu
◀ ▶

Класс клиента API в C#

Класс-обёртка принимает HttpClient извне (удобно для тестов и переиспользования соединений) и скрывает шаблоны URI. Метод GetUserAsync подставляет id в путь и возвращает готовый DTO.

Вызов для пользователя 1 печатает его идентификатор и имя - те же данные, что при прямом GetFromJsonAsync, но точка входа программы короче:

using System.Net.Http.Json; using System.Text.Json.Serialization; using HttpClient http = new(); var api = new UserApiClient(http); UserDto? user = await api.GetUserAsync(1); Console.WriteLine(user?.Id); Console.WriteLine(user?.Name); record UserDto( [property: JsonPropertyName("id")] int Id, [property: JsonPropertyName("name")] string Name); class UserApiClient { private readonly HttpClient http; public UserApiClient(HttpClient httpClient) => http = httpClient; public Task<UserDto?> GetUserAsync(int id) => http.GetFromJsonAsync<UserDto>($"https://jsonplaceholder.typicode.com/users/{id}"); }

Адрес в методе собран целиком, с идентификатором в пути. Готовый HttpClient приходит в конструктор, и запрос идёт через него.

Добавьте в клиент метод списка пользователей. Выведите в консоль, сколько записей пришло.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить