Передача данных из API REST в ASP;NET CORE (Angular ASP. NET CORE) - PullRequest
0 голосов
/ 20 февраля 2020

Я создал Angular проект с Visual Studio, я использую ASP. NET CORE 3.1 в качестве моего бэкэнда и Angular 9.0.1 в качестве FRONT-END. Я пытался использовать данные из REST API (Prometheus API), вот модель:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

    namespace Prometheus_test.v1
    {
        public class Query
        {
            public string Status { get; set; }
            public object Data { get; set; }
        }
    }

, и мой контроллер выглядит так:

using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;

namespace Prometheus_test.v1.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class QueryController : ControllerBase
    {
        private readonly ILogger<QueryController> _logger;

        public QueryController(ILogger<QueryController> logger)
        {
            _logger = logger;
        }

        [HttpGet]
        public ActionResult<QueryController> Index()
        {
            IEnumerable<Query> Queries = null;

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("http://localhost:9090/api/v1/");
                //HTTP GET
                var responseTask = client.GetAsync("query?query=up&time=2020-02-20T10:30:00.781Z");
                responseTask.Wait();

                var result = responseTask.Result;
                if (result.IsSuccessStatusCode)
                {
                    var readTask = result.Content.ReadAsAsync<IList<Query>>();
                    readTask.Wait();

                    Queries = readTask.Result;
                }
                else //web api sent error response 
                {
                    //log response status here..

                    Queries = Enumerable.Empty<Query>();

                    ModelState.AddModelError(string.Empty, "Server error. Please contact administrator.");
                }
            }

            return View(Queries);

        }
    }
}

Теперь я не знаю, что для я очень запутался, получу ли я данные, используя эту модель? и как я могу использовать данные из этого REST API? Спасибо за любую помощь, спасибо.

...