Blazor Client Side Интернет Магазин: Часть 7 — Обновился до релизной версии 3.2.0 и добавил показ картинок


Привет, Хабр! Вышел релиз Blazor WebAssemby и я немного обновил свой сайт. За подробностями добро пожаловать под кат.

Содержание

Ссылки

→ Исходники
Образы на Docker Registry

Обновления

Установить новый шаблон с релизной версией Blazor

dotnet new -i Microsoft.AspNetCore.Components.WebAssembly.Templates::3.2.0 

Добавил ссылку на пакет для удобной работы с HttpClient

 <PackageReference Include="Microsoft.Extensions.Http" Version="3.1.3" />  <PackageReference Include="System.Net.Http.Json" Version="3.2.0" /> 

Добавил новый способ инициализации HttpClient чтобы он автоматом захватывал токены авторизации в свои хедеры

services.AddHttpClient("BlazorEShop", client =>          client.BaseAddress = new Uri(cfg.ApiUri))     .AddHttpMessageHandler(sp =>         sp.GetRequiredService<AuthorizationMessageHandler>()             .ConfigureHandler(new[] { cfg.ApiUri },scopes: new[] { "api" })); services.AddTransient(sp =>      sp.GetRequiredService<IHttpClientFactory>().CreateClient("BlazorEShop")); 

Ну и уровень логгов понизил. Вообще теперь можно через переменные окружения его выставлять или черезе appsettings.json который лежит в wwwroot.

 builder.Logging.SetMinimumLevel(LogLevel.Debug);

Что нового в Blazor WebAssembly

Есть возможность получать конфиги из json файлов и из переменных окружения.
Есть возможность локализации через файлы ресурсов .resx
Есть возможность автоматически добавлять jwt токен в хедеры при запросе.
Подробнее можно посмотреть в этом видео.

Загрузка картинок

Пока что только через сваггер.
Авторизуемся нажав кнопку Authorize в правом верхнем углу и во всплывающем окне проставив галочку в левом нижнем угле.

Загружаем файл и копируем идентификатор который нам вернули

Используем идентификатор который скопировали на предыдущем шаге в качестве imageId

ссылка на оригинал статьи https://habr.com/ru/post/503408/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *