Жанры книг
Мы в соц.сетях
ParaKnig📚 » Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
<< На главную

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

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

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
Перейти на страницу:

public async Task&lt;IList&lt;Car&gt;&gt; GetCarsAsync()

{

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

  response.EnsureSuccessStatusCode();

  var result = await response.Content.ReadFromJsonAsync&lt;IList&lt;Car&gt;&gt;();

  return result;

}

public async Task&lt;IList&lt;Car&gt;&gt; GetCarsByMakeAsync(int id)

{

 var response = await

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

  response.EnsureSuccessStatusCode();

  var result = await response.Content.ReadFromJsonAsync&lt;IList&lt;Car&gt;&gt;();

  return result;

}

public async Task&lt;Car&gt; GetCarAsync(int id)

{

  var response = await

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

  response.EnsureSuccessStatusCode();

  var result = await response.Content.ReadFromJsonAsync&lt;Car&gt;();

  return result;

}

public async Task&lt;IList&lt;Make&gt;&gt; GetMakesAsync()

{

  var response = await

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

  response.EnsureSuccessStatusCode();

  var result = await response.Content.ReadFromJsonAsync&lt;IList&lt;Make&gt;&gt;();

  return result;

}

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

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

public async Task&lt;Car&gt; AddCarAsync(Car entity)

{

  var response = await PostAsJson($&quot;{_settings.Uri}{_settings.CarBaseUri}&quot;,

    JsonSerializer.Serialize(entity));

  if (response == null)

  {

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

  }

  return await response.Content.ReadFromJsonAsync&lt;Car&gt;();

(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&lt;Car&gt; UpdateCarAsync(int id, Car entity)

{

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

    JsonSerializer.Serialize(entity));

  response.EnsureSuccessStatusCode();

  return await response.Content.ReadFromJsonAsync&lt;Car&gt;();

(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($&quot;{_settings.Uri}{_settings.CarBaseUri}/{id}&quot;,

    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;

    }

  }

}

Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю бесплатно.
Комментарии
Открыть боковую панель
Комментарии
Лариса
Лариса 11.03.2026 - 20:17
Странно,здесь имя девочки Аграфена,а на других сайтах я прослушала три книги этого цикла с именем Дарвина.Зачем менять имя и путать читателей? Опечатка- не Дарвина,  а  Дарина.
Григорий
Григорий 09.04.2025 - 22:24
Лучшая книга всех времен
Женя
Женя 02.04.2025 - 16:08
Любимая книга