【问题标题】:How to consume multiple REST API如何使用多个 REST API
【发布时间】:2022-11-28 11:05:35
【问题描述】:

最初,在 C# 中使用了单个 REST API 请求并取消了 JSON 响应。我想使用多个 API(2 或 3)。我该如何修改我的代码?

static void Main(string[] args)
        {
            api1();
        }

 public static void api1()
        {
            var client = new RestClient("https://dummy.restapiexample.com/api/");
            var request = new RestRequest("Data");
            var response = client.Execute(request);
            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                string rawResponse = response.Content;
                var root = JsonConvert.DeserializeObject<Rootobject>(rawResponse)
            }
        }

我尝试为每个 API 请求创建函数,但我不确定返回类型是什么以及我将如何调用所有函数。

public async Task<Var> api2()
        {
          var client = new RestClient("https://dummy.restapiexample2.com/api2/");
            var request = new RestRequest("Data");
            var response = client.Execute(request);
            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                string rawResponse = response.Content;
                var root = JsonConvert.DeserializeObject<Rootobject>(rawResponse)
                return root;
              }
          else
          return null;
}


static void Main(string[] args)
        {
            api1();
            api2();
        }

【问题讨论】:

  • 这个问题对我来说有点不清楚

标签: c# .net rest restsharp


【解决方案1】:

您不能像上面那样返回var,您需要返回期望从该方法获得的内容,例如Rootobject

public async Task Main(string[] args)
{
    var result = await Api2();
    var myProVal = result.MyProperty;
}

public static async Task <Rootobject> Api2()
{
    var client = new RestClient("https://dummy.restapiexample2.com/api2/");
    var request = new RestRequest("Data");
    var response = await client.ExecuteAsync(request);
    if (response.StatusCode == System.Net.HttpStatusCode.OK)
    {
        string rawResponse = response.Content;
        var root = JsonConvert.DeserializeObject<Rootobject>(rawResponse);
        return root;
    }
    else
        return null;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 2021-08-12
    • 2022-01-04
    • 1970-01-01
    • 2015-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多