Я полный новичок в разработке бэкенда на C# и ASP.NET MVC, поэтому я могу предположить, что мой вопрос немного глуп и прошу прощения за это, но я потратил часы на поиск информации об этом и чтение документации и вышел почти ни с чем.
Итак, мне нужно получить информацию о криптовалютах с помощью API coinmarketcap.com и отобразить их в таблице. Я создал класс контроллера и использовал пример кода из документации API:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Net;
namespace CryptoCurrency.Controllers
{
public class CryptoCurrencyController : Controller
{
private static string API_KEY = "key";
// GET: CryptoCurrency
public ActionResult Index()
{
// here i need to call the makeAPICall() method,
// get data about cryptocurrencies and send it to the view
return View();
}
static string makeAPICall()
{
var URL = new UriBuilder("https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest");
var queryString = HttpUtility.ParseQueryString(string.Empty);
queryString["start"] = "1";
queryString["limit"] = "80";
queryString["convert"] = "USD";
URL.Query = queryString.ToString();
var client = new WebClient();
client.Headers.Add("X-CMC_PRO_API_KEY", API_KEY);
client.Headers.Add("Accept", "application/json");
return client.DownloadString(URL.ToString());
}
}
}
Как мне получить данные по API и правильно отправить их в представление? Должен ли я сохранить client.DownloadString(URL.ToString()); или использовать json вместо строки?
Также я предполагаю, что я должен создать модель криптовалюты, которая будет содержать имя, символ, дату_добавления и другие.
Мне не нужен ровно весь готовый код, буду рад, если вы просто направите меня на какую-нибудь понятную для новичков информацию по моим вопросам, потому что сейчас я тону во всей этой информации и не могу найти Что мне нужно.
Спасибо!





Вы должны вызвать API из своего действия, затем десериализовать полученную строку в определяемую вами модель представления и, наконец, передать эту модель представления в свое представление:
// GET: CryptoCurrency
public ActionResult Index()
{
var str = MakeAPICall();
var viewModel = JsonConvert.Deserialize<YourViewModel>(str);
return View(viewModel);
}