Вы находитесь в консольном приложении с методом sync
main. Вы не должны вызывать async
метод внутри sync
метода. Я сделал ваш async
звонок в sync
звонок:
public static void Main(string[] args)
{
Console.WriteLine("Start ...");
var response = Unirest.get("https://api-nba-v1.p.rapidapi.com/gameDetails/5162")
.header("X-RapidAPI-Host", "api-nba-v1.p.rapidapi.com")
.header("X-RapidAPI-Key", "myKey")
.asJson<RootObject>();
var status = response.Status;
Console.WriteLine("End ....");
}
Вы все еще можете спросить, где ваша десериализация JSON
?
Согласно Unirest Docs :
Ответ
После получения ответа Unirest возвращает результат в
форма объекта, этот объект всегда должен иметь одинаковые ключи для
каждый язык в отношении деталей ответа.
.Code - код состояния ответа HTTP (пример 200)
.Headers - HTTP
Заголовки ответа
.Body - анализируемое тело ответа, где это применимо, для
Примеры ответов JSON анализируются для объектов / ассоциативных массивов.
.Raw - непроанализированное тело ответа
По сути, вы можете получить доступ к своему результату так:
if (response.Code == 200) // Success, OK in HTTP Codes
{
response.Body; // which body has the type of MyClass.RootObject
}
Полный пример:
public static void Main(string[] args)
{
Console.WriteLine("Start ...");
var response = Unirest.get("https://api-nba-v1.p.rapidapi.com/gameDetails/5162")
.header("X-RapidAPI-Host", "api-nba-v1.p.rapidapi.com")
.header("X-RapidAPI-Key", "myKey")
.asJson<RootObject>();
if (response.Code == 200) // Success, OK in HTTP Codes
{
response.Body; // which body has the type of MyClass.RootObject
}
Console.WriteLine("End ....");
Console.ReadLine(); // to force command line stay up for an input and not close applicaiton immediately aftter runing it.
}
Обновление 1:
Вот и работает Unirest на .NET Fiddle:
https://dotnetfiddle.net/EZDopa