Категории
Самые читаемые
ChitatKnigi.com » 🟢Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Читать онлайн Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Перейти на страницу:

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать

public async Task<IList<Car>> GetCarsAsync()

{

  var response = await _client.GetAsync($"{_settings.Uri}{_settings.CarBaseUri}");

  response.EnsureSuccessStatusCode();

  var result = await response.Content.ReadFromJsonAsync<IList<Car>>();

  return result;

}

public async Task<IList<Car>> GetCarsByMakeAsync(int id)

{

 var response = await

  _client.GetAsync($"{_settings.Uri}{_settings.CarBaseUri}/bymake/{id}");

  response.EnsureSuccessStatusCode();

  var result = await response.Content.ReadFromJsonAsync<IList<Car>>();

  return result;

}

public async Task<Car> GetCarAsync(int id)

{

  var response = await

  _client.GetAsync($"{_settings.Uri}{_settings.CarBaseUri}/{id}");

  response.EnsureSuccessStatusCode();

  var result = await response.Content.ReadFromJsonAsync<Car>();

  return result;

}

public async Task<IList<Make>> GetMakesAsync()

{

  var response = await

  _client.GetAsync($"{_settings.Uri}{_settings.MakeBaseUri}");

  response.EnsureSuccessStatusCode();

  var result = await response.Content.ReadFromJsonAsync<IList<Make>>();

  return result;

}

Вызов HTTP-метода POST

Метод для добавления записи Car использует HTTP-метод POST. Он применяет вспомогательный метод для отправки сущности в формате JSON и возвращает запись Car из тела ответа. Вот его код:

public async Task<Car> AddCarAsync(Car entity)

{

  var response = await PostAsJson($"{_settings.Uri}{_settings.CarBaseUri}",

    JsonSerializer.Serialize(entity));

  if (response == null)

  {

    throw new Exception("Unable to communicate with the service");

  }

  return await response.Content.ReadFromJsonAsync<Car>();

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

}

Вызов HTTP-метода PUT

Метод для обновления записи Car использует HTTP-метод PUT. Он применяет вспомогательный метод для отправки записи Car в формате JSON и возвращает обновленную запись Car из тела ответа:

public async Task<Car> UpdateCarAsync(int id, Car entity)

{

  var response = await PutAsJson($"{_settings.Uri}{_settings.CarBaseUri}/{id}",

    JsonSerializer.Serialize(entity));

  response.EnsureSuccessStatusCode();

  return await response.Content.ReadFromJsonAsync<Car>();

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

}

Вызов HTTP-метода DELETE

Последний добавляемый метод предназначен для выполнения НТТР-метода DELETE. Шаблон соответствует остальным методам: использование вспомогательного метода и проверка ответа на предмет успешности. Он ничего не возвращает вызывающему коду, поскольку сущность была удалена. Ниже показан код метода:

public async Task DeleteCarAsync(int id, Car entity)

{

  var response = await DeleteAsJson($"{_settings.Uri}{_settings.CarBaseUri}/{id}",

    JsonSerializer.Serialize(entity));

  response.EnsureSuccessStatusCode();

}

Конфигурирование служб

Создайте в каталоге ApiWrapper проекта AutoLot.Service новый файл класса по имени ServiceConfiguration.cs. Приведите операторы using к следующему виду:

using Microsoft.Extensions.Configuration;

using Microsoft.Extensions.DependencyInjection;

Сделайте класс открытым и статическим, после чего добавьте открытый статический расширяющий метод для IServiceCollection:

namespace AutoLot.Services.ApiWrapper

{

  public static class ServiceConfiguration

  {

     public static IServiceCollection ConfigureApiServiceWrapper(

         this IServiceCollection services, IConfiguration config)

    {

      return services;

    }

  }

}

Перейти на страницу:
Отывы о книге
Открыть боковую панель
Комментарии
Галина
Галина 05.11.2025 - 22:53
Красивая история. Вселяет веру в добро !
Женя
Женя 05.11.2025 - 12:27
Ну, конечно, закрутили) Санта Барбара отдыхает
Viola
Viola 04.11.2025 - 22:45
Больше подойдёт для подростков.
Таня
Таня 02.11.2025 - 01:03
А продолжение? Уверенна, что оно должно быть
Уля
Уля 26.10.2025 - 00:40
У богатых свои причуды. С удовольствием буду читать продолжение