Возврат всех объектов json с использованием asp net core 2.1 - PullRequest
0 голосов
/ 04 октября 2018

Я могу получить один объект JSON из URL.Мне нужна помощь в получении страницы, полной объектов JSON.Я нашел этот сайт, https://jsoneditoronline.org/,, чтобы показать архитектуру json страницы, которую я хочу вернуть:

введите описание изображения здесь

Вот мой код:

namespace iexName.Controllers
{
[Route("api/IexName")]
[ApiController]
public class IexNameController : ControllerBase
{
    private IHttpClientFactory _httpClientFactory;

    public IexNameController(IHttpClientFactory httpClientFactory)
    {
        _httpClientFactory = httpClientFactory;
    }
    [HttpGet]
    public IEnumerable<Models.IexTradingStock> GetQuote()
    {
        string responseString = string.Empty;
        var Client = _httpClientFactory.CreateClient();
        try
        {
      responseString =   
  Client.GetStringAsync($"https://api.iextrading.com/1.0/stock/aapl/chart/1y").Result;
        }
        catch (HttpRequestException hre)
        {
            Console.WriteLine(hre.Message);
            //TODO do something
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
            //TODO do something
        }
        //quit if get content fail
        if (responseString == string.Empty) return null;

        try
        {
            var stock = JsonConvert.DeserializeObject<IexTradingStock> 
(responseString);
            return stock;

        }

Ошибка при возврате товара;Я понимаю, что не знаю, как вернуть все объекты json.

1 Ответ

0 голосов
/ 04 октября 2018

Вскоре после того, как я набрал это в стеке, я понял, что делать.Это сработало.

namespace iexName.Controllers
{
[Route("api/IexName")]
[ApiController]
public class IexNameController : ControllerBase
{
    private IHttpClientFactory _httpClientFactory;

    public IexNameController(IHttpClientFactory httpClientFactory)
    {
        _httpClientFactory = httpClientFactory;
    }
    [HttpGet]
    public IEnumerable<Models.IexTradingStock> GetQuote()
    {
        string responseString = string.Empty;
        var Client = _httpClientFactory.CreateClient();
        try
        {
            responseString = 
Client.GetStringAsync($"https://api.iextrading.com/1.0/stock/aapl/chart/1y").Result;
        }
        catch (HttpRequestException hre)
        {
            Console.WriteLine(hre.Message);
            //TODO do something
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
            //TODO do something
        }
        //quit if get content fail
        if (responseString == string.Empty) return null;

        try
        {` List<IexTradingStock> stock = 
   JsonConvert.DeserializeObject<List<IexTradingStock>>(responseString);
            return stock;

        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
            //TODO do something
            return null;
        }
    }
  }
}`
...