public async Task <KvkSearchApiResult> Search(KvkSearchApiParameters parameters) { var httpClient = _httpClientFactory.CreateClient(); var search = new List <string> { GetFormattedQueryString() }; if (!string.IsNullOrWhiteSpace(parameters.Q)) { search.Add($"q={parameters.Q}"); } if (parameters.StartPage > 0) { search.Add($"startpage={parameters.StartPage}"); } // TODO (?): add other parameters var url = string.Join("&", search); var result = await httpClient.GetAsync(url); result.EnsureSuccessStatusCode(); var content = await result.Content.ReadAsStringAsync(); var apiResult = JsonConvert.DeserializeObject <KvkSearchApiResultWrapper>(content); return(apiResult.Data); }
public async Task <ActionResult> Get(string q, int startPage = 0) { var kvkSearchApiParameters = new KvkSearchApiParameters() { Q = q, StartPage = startPage }; var result = await _kvkSearchApi.Search(kvkSearchApiParameters); return(Json(result)); }