Я пытаюсь отобразить свою страницу сведений о ресторане через вызовы API. На данный момент я просто ориентируюсь на название ресторана
Ответ JSON выглядит примерно так
{
"address":null,
"restaurant":
{
"apiKey":"364155d9f18155ceda325d7782b35bdb9696f108a9a450c0",
"logoUrl":"https://static.eatstreet.com/assets/images/restaurant_logos/107-state-71386_1578050374619.png",
"name":"107 State"
}
}
Начиная с apihelper, я могу видеть весь ответ, и данные там.
public static async Task<string> GetDetails(string ApiKey) //pass through id as well
{
RestClient client = new RestClient("https://eatstreet.com/publicapi/v1/");
RestRequest request = new RestRequest($"restaurant/{ApiKey}", Method.GET);
request.AddHeader("X-Access-Token", EnvironmentVariables.apiKey);
var response = await client.ExecuteTaskAsync(request);
Uri fullUrl = response.ResponseUri;
// Console.WriteLine(string.Format("/n/n" + response.ResponseUri.ToString() + "\n\n details url")); //print url to console for testing
// Console.WriteLine("\n\n\n" + ApiKey + "\n\n\n");
// Console.WriteLine("\n\n\n" + response.Content+ "\n\n\n");
return response.Content;
}
Оттуда в модели ресторана я десериализую и превращаю его в объект и возвращаю deliver_me_deliveries.Models.Restaurant
public static Restaurant GetDetail(string ApiKey)
{
var apiCallTask = ApiHelper.GetDetails(ApiKey);
var result = apiCallTask.Result;
JObject jsonResponse = JsonConvert.DeserializeObject<JObject>(result);
Restaurant restaurant = JsonConvert.DeserializeObject<Restaurant>(jsonResponse.ToString());
Console.WriteLine("\n\n" + restaurant + "\n\n");
// Console.WriteLine("\n\n" + result + "\n\n");
return restaurant;
}
Оттуда в контроллере я возвращаюсь к просмотру deliver_me_deliveries.Models.Restaurant
// returns object deliver_me_deliveries.Models.Restaurant
[HttpGet("{ApiKey}")]
public IActionResult Details(string ApiKey)
{
var restaurant = Restaurant.GetDetail(ApiKey);
Console.WriteLine("\n\n" + restaurant + "\n\n");
//returns deliver_me_deliveries.Models.Restaurant
return View(restaurant);
}
Но при I go в подробностях данные не отображаются:
<h1>DETAILS PAGE</h1>
<h1></h1> //Model.Name
</div>
Спасибо