Код IT Загрузка примера кода…

C# main.cs
// Плохо: множество мелких запросов
public async Task<List<User>> GetUsersBad(List<int> userIds)
{
    var users = new List<User>();
    foreach (var id in userIds)
    {
        var user = await _httpClient.GetAsync($"api/users/{id}");
        users.Add(await user.Content.ReadAsAsync<User>());
    }
    return users;
}

// Хорошо: пакетный запрос
public async Task<List<User>> GetUsersGood(List<int> userIds)
{
    var response = await _httpClient.PostAsJsonAsync(
        "api/users/batch",
        new { userIds }
    );
    return await response.Content.ReadAsAsync<List<User>>();
}
// Плохо: множество мелких запросов
public async Task<List<User>> GetUsersBad(List<int> userIds)
{
    var users = new List<User>();
    foreach (var id in userIds)
    {
        var user = await _httpClient.GetAsync($"api/users/{id}");
        users.Add(await user.Content.ReadAsAsync<User>());
    }
    return users;
}

// Хорошо: пакетный запрос
public async Task<List<User>> GetUsersGood(List<int> userIds)
{
    var response = await _httpClient.PostAsJsonAsync(
        "api/users/batch",
        new { userIds }
    );
    return await response.Content.ReadAsAsync<List<User>>();
}