models Movie, MovieSearch
This commit is contained in:
@@ -1,7 +1,10 @@
|
||||
using System.Net;
|
||||
using System.Text.Json;
|
||||
|
||||
|
||||
using System.Reflection.Metadata;
|
||||
|
||||
/// <summary>
|
||||
/// Servizio per interagire con l'API OMDB.
|
||||
/// Semplifica le richieste per ottenere dettagli sui film.
|
||||
/// </summary>
|
||||
class OmdbService
|
||||
{
|
||||
private readonly string url;
|
||||
@@ -9,28 +12,39 @@ class OmdbService
|
||||
public OmdbService()
|
||||
{
|
||||
var apiKey = File.ReadAllText("APIKey.txt").Trim();
|
||||
apiKey = System.Net.WebUtility.UrlEncode(apiKey);
|
||||
apiKey = WebUtility.UrlEncode(apiKey);
|
||||
|
||||
url = "http://www.omdbapi.com/?apikey=" + apiKey
|
||||
+ "&type=movie"
|
||||
+ "&r=json";
|
||||
}
|
||||
|
||||
public async Task<string> FetchMovieDetail(string id)
|
||||
/// <summary>
|
||||
/// Recupera i dettagli di un film dato il suo ID IMDB.
|
||||
/// </summary>
|
||||
/// <param name="id">ID IMDB del film da cercare.</param>
|
||||
/// <returns>Un oggetto Movie con i dettagli del film.</returns>
|
||||
public async Task<Movie> FetchMovieDetail(string id)
|
||||
{
|
||||
var requestUrl = url + "i=" + System.Net.WebUtility.UrlEncode(id);
|
||||
var requestUrl = url + "&i=" + WebUtility.UrlEncode(id);
|
||||
using var httpClient = new HttpClient();
|
||||
|
||||
var response = await httpClient.GetStringAsync(requestUrl);
|
||||
return response.ToString();
|
||||
return JsonSerializer.Deserialize<Movie>(response)!;
|
||||
}
|
||||
|
||||
public async Task<string> FetchMovies(string searchTitle)
|
||||
|
||||
/// <summary>
|
||||
/// Recupera una lista di film che corrispondono al titolo di ricerca.
|
||||
/// </summary>
|
||||
/// <param name="searchTitle">Titolo dei film da cercare.</param>
|
||||
/// <returns>>Una lista di oggetti Movie che corrispondono alla ricerca.</returns>
|
||||
public async Task<MovieSearch> FetchMovies(string searchTitle)
|
||||
{
|
||||
var requestUrl = url + "&t=" + System.Net.WebUtility.UrlEncode(searchTitle);
|
||||
var requestUrl = url + "&s=" + WebUtility.UrlEncode(searchTitle);
|
||||
using var httpClient = new HttpClient();
|
||||
|
||||
var response = await httpClient.GetStringAsync(requestUrl);
|
||||
return response.ToString();
|
||||
return JsonSerializer.Deserialize<MovieSearch>(response)!;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user