最初,我使用了一个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();
}
1条答案
按热度按时间bvjveswy1#
您不能像在上面的中所做的那样返回
var
,您需要返回期望从该方法获得的内容,例如Rootobject
。这里你已经使用了
async
。async关键字将一个方法转换为async方法,它允许你在它的主体中使用await关键字。当应用await关键字时,它会暂停调用方法并将控制权交还给它的调用者,直到等待的任务完成。await只能在async方法内部使用。如果你没有这样的要求,就不要使用async。只需将方法设置为synchronous
即可。阅读更多信息:https://learn.microsoft.com/en-us/dotnet/csharp/async
https://learn.microsoft.com/en-us/aspnet/core/fundamentals/http-requests?view=aspnetcore-7.0
更新日期:
在上面的代码片段中,我的
Rootobject
类如下所示,在Main方法中,
MyProperty
是该类中的一个示例属性。在您的情况下,它应该是另一个属性,这取决于您。我认为在进入这一级别之前,如果您能够学习基础知识会更好。祝您好运