VS 17循环行,调用API,Injest JSON

时间:2018-09-06 12:20:38

标签: c# json sql-server

目标:我有一个要发送到API(NPI Registry API)的MSSQL DB中的ID列表,然后将返回的JSON解析为 将某些元素提取回数据库。

询问::我对SSMS内的t-sql感到很满意,但对于外面的任何地方都是新手,我希望这项练习对使用其他Web界面很有帮助。 我不想让任何人确切地解释如何做到这一点,但我希望有人可以概述最有效的路线,以便我自己解决其余的问题。我希望通过VS17做到这一点,但是如果这是一个更好的解决方案,我愿意不加入VS。

1 个答案:

答案 0 :(得分:0)

通常应遵循以下步骤:

  1. 阅读行
    • 在这里您可以使用ADO.NET简单查询或任何框架,例如Entity Framework或Dapper.NET
  2. 进行您的API调用

    • 您可以在此处使用类似的内容。
    • 它可能会有所不同,具体取决于您将如何使用从数据库中检索到的ID:

    var companies = db.Companies.ToList(); //supposing db is you DbContext on EF
    var myTypesFromApi = new List<MyTypeT>();
    companies.ForEach(async company =>
    {
        try
        {
            using (var client = new HttpClient())
            {
                var res = await client.GetStringAsync("http://myapi.com/v1/");
                myTypesFromApi.Add(JsonConvert.DeserializeObject<MyTypeT>(res));
            }
        }
        catch (Exception e)
        {
            //catch properly your exception here
        }
    });
    
  3. 发送回数据库