Я пытаюсь создать свое веб-приложение и хочу подключиться к API. У меня есть базовый адрес в моем Startup.cs
файле:
services.AddHttpClient("API Client", client =>
{
client.BaseAddress = new Uri("https://icanhazdadjoke.com/");
client.DefaultRequestHeaders.Add("Accept", "application/json");
});
Но теперь я хочу изменить его в программе, добавив /search
к URL-адресу. Я использую UriBuilder
, и это выглядит так:
string responseBody = "";
var client = _httpClientFactory.CreateClient("API Client");
var builder = new UriBuilder(client.GetAsync("") + "/search");
var query = HttpUtility.ParseQueryString(builder.Query);
query.Add("term", searchedTerm);
query.Add("limit", jokesPerPage);
builder.Query = query.ToString();
string url = builder.ToString();
responseBody = await client.GetStringAsync(url);
return JsonConvert.DeserializeObject<JokeModel>(responseBody);
Я получил ошибку:
UriFormatException: Неверный URI: не удалось проанализировать имя хоста.
Как я могу это исправить?