Логика такая: есть сервис, который делает следующее: делает запрос к апи, получает информацию и записывает в свойства. Затем эти свойства вызываются на клиенте.
Сам сервис:
public class TmdbService
{
private static JsonConfig _config = new JsonConfig();
private readonly TMDbClient _client = new TMDbClient(_config.Settings.TApiKey);
public async Task GetAllMovieInfo(string title, string lang = "ru")
{
SearchContainer<SearchMovie> results = await _client.SearchMovieAsync(title, lang);
var movieData = results.Results.Take(1);
foreach(var data in movieData)
{
new MovieDataDetail
{
Id = data.Id,
Title = data.Title,
OriginalTitle = data.OriginalTitle,
ReleaseDate = data.ReleaseDate,
Image = data.PosterPath,
Popularity = data.Popularity,
Overview = data.Overview
}
}
}
}
А вот клиент, на котором я все это вызываю:
@page "/counter"
@using MovieApp.Shared.Services.TmdbApi
@using MovieApp.Shared.Models.MovieData
<div>
<h1>The name of the movie: @detail.OriginalTitle</h1>
<h1>The overview of the @title: @detail.Overview</h1>
@*<h1>Ratings: @detail.IMDbRating</h1>*@
</div>
@code {
TmdbService service;
MovieDataDetail detail;
string title = "lucy";
protected override Task OnInitializedAsync()
{
detail = new MovieDataDetail();
service = new TmdbService();
return service.GetAllMovieInfo(title);
}
}
Сервис работает, я проверял на обычном консольном приложении.
Метод OnInitializedAsync() срабатывает во время первой загрузки страницы, по идее все должно работать, студия не ругается, но в консоли браузера, я получаю: