Я получаю ошибку неподдерживаемого типа носителя при попытке вызвать вызов API GET.
Вот код сервера:
public async Task<JObject> GetSummonerData(GetSummonerDataDto getMatch)
{
string username = getMatch.Username;
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
string url="https://na1.api.riotgames.com/lol/summoner/v4/summoners/by-name/" +username;
client.DefaultRequestHeaders.Add("X-Riot-Token", _riotToken);
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
JObject json = JObject.Parse(body);
return json;
}
Вот угловая часть:
GetSummonerData(model: any) {
console.log(model);
let headers = new HttpHeaders();
headers = headers.set('Content-Type', 'application/json; charset=utf-8');
return this.http.get(this.baseUrl + 'getsummonerdata', model);
}
Теперь, когда я делаю этот конкретный вызов, я сразу получаю ошибку HTTP 415. Тем не менее, у меня есть еще одна функция GET, эта функция, по сути, несколько раз вызывает GetSummonerData
back-end и РАБОТАЕТ
getSummonerDataMultiple() {
return this.http.get(this.baseUrl + 'getsummonerdatamultiple');
Вот код сервера для указанного выше углового кода:
public async Task<JArray> GetSummonerDataMultiple()
{
string[] players = {"twokdavey", "jimlan", "captainwalrus69", "pynkcoffee"};
JArray SummonersData= new JArray();
foreach(var player in players)
{
var user = await GetSummonerData(new GetSummonerDataDto{Username = player});
if(user != null){
SummonersData.Add(user);
}
}
return SummonersData;
}
Обратите внимание, единственное отличие состоит в том, что у меня нет DTO (без параметров). GetSummonerDataDto
- это просто простой класс с
public string Username {get; set;}
, и я даже жестко закодировал свой параметр, равный {'username': 'tankthebeast'}
для моей угловой части. Я был успешным с другими функциями, которые задействовали DTO, но сколько бы я ни возвращался к коду, я не вижу различий. Предыдущие вопросы к этому предлагают добавить Content-Type
HTTP-заголовок, как описано в моей первой угловой части, но ошибка состоит в том.
Самым большим бликом к моей проблеме является то, что мой заголовок отображает application/problem+jso
n в браузерене могу найти больше информации.
Последняя часть информации. Почтальон отображает все функции. это угловая проблема, которую я не могу решить с моей стороны.