C # HttpClient 307 API Destiny 2 SearchUser - PullRequest
       28

C # HttpClient 307 API Destiny 2 SearchUser

0 голосов
/ 14 сентября 2018

Я работаю над библиотекой для API Destiny 2, и сейчас у меня проблема. Я написал расширение для HttpClient.GetAsync, чтобы я мог сделать HttpClient.GetAsync<T>, и я обнаружил, что в этом расширении я не получаю сообщение об успехе, потому что я получаю

307 Временное перенаправление

Я запустил этот же API-запрос в Postman, используя тот же ключ API и тот же запрос пути, и Postman не получил ошибку.

Добавочный код:

public async static Task<T> GetAsync<T>(this HttpClient Web, String Path)
        {
            var result = await Web.GetAsync(Path);
            if (result.IsSuccessStatusCode)
            {
                var body = await result.Content.ReadAsStringAsync();
                return JsonConvert.DeserializeObject<T>(body);
            }
            else
            {
                return default(T);
            }
        }

Создание HttpClient при создании корневого ApiClass:

private HttpClient _Web { get; set; } = new HttpClient(new HttpClientHandler()
        {
            AllowAutoRedirect = true
        });

1 Ответ

0 голосов
/ 14 сентября 2018

Так что, побежав некоторое время, я обнаружил, что пропускаю эту строку string path = $"User/SearchUsers?q={q}";, когда она хочет эту строку string path = $"User/SearchUsers/?q={q}"; замечает косую черту после SearchUsers ... Их API, я думаю, просто неправильно настроен, и это очень раздражает. .

...