gpt4 book ai didi

c# - 将来自 API 的结果合并到一个对象中

转载 作者:太空宇宙 更新时间:2023-11-03 12:37:32 25 4
gpt4 key购买 nike

我正在使用 asp.net mvc web api2 Controller 创建一个简单的 api 消费者应用程序。

我的web api Controller 中的两个get请求如下:

public async Task<List<User>> GetUsersAsync()
{
using (HttpClient httpClient = new HttpClient())
{
return JsonConvert.DeserializeObject<List<User>>(
await httpClient.GetStringAsync("https://jsonplaceholder.typicode.com/posts")
);
}

}

public async Task<List<UserToDoList>> GetUserToDoListAsync()
{
using (HttpClient httpClient = new HttpClient())
{
return JsonConvert.DeserializeObject<List<UserToDoList>>(
await httpClient.GetStringAsync("http://jsonplaceholder.typicode.com/todos")
);
}

}

这给了我两个单独的对象列表用户列表和用户待办事项列表。

将它们组合起来的最佳/最快方法是什么,以便我可以以表格格式显示它,例如:

UserId  |  Name | Count Of Todo's

最佳答案

合并这两个调用并在客户端返回您想要的内容,方法是调用您的网络 API 或创建一个合并数据并返回合并数据的新端点

using (HttpClient httpClient = new HttpClient()) {
var users = JsonConvert.DeserializeObject<List<User>>(
await httpClient.GetStringAsync("https://jsonplaceholder.typicode.com/posts")
);
var todos = JsonConvert.DeserializeObject<List<UserToDoList>>(
await httpClient.GetStringAsync("http://jsonplaceholder.typicode.com/todos")
);

var result = from user in users
join todo in todos on user.UserId equals todo.UserId into userTodos
select new { UserId = user.UserId, Name = user.Name, CountOfTodos = userTodos.Count() };
}

关于c# - 将来自 API 的结果合并到一个对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40344462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com