net8 对接webapi接口通过 GetFromJsonAsAsyncEnumerable方法直接得到对象,无需进行反序列化
调用 API 直接获取到对象
现在有一个接口返回如下图中的数据:
如果是在 8 以前的版本中获取该接口的数据,需要先获取到接口内容,然后进行反序列化,代码如下
const string RequestUri = "http://localhost:5145/user"; using var client = new HttpClient(); var stream =await client.GetStreamAsync(RequestUri); //反序列化 var users = JsonSerializer.DeserializeAsyncEnumerable<UserInfo>(stream); await foreach(UserInfo user in users) { Console.WriteLine($"姓名:{user.userName}"); } Console.ReadKey(); public record UserInfo(string userName);
在版本 8 中可以直接调用 GetFromJsonAsAsyncEnumerable 方法直接得到对象,无需进行反序列化:
const string RequestUri = "http://localhost:5145/user"; using var client = new HttpClient(); IAsyncEnumerable<UserInfo> users = client.GetFromJsonAsAsyncEnumerable<UserInfo>(RequestUri); await foreach (UserInfo user in users) { Console.WriteLine($"姓名: {user.userName}"); } Console.ReadKey(); public record UserInfo(string userName);
上面两种代码的结果一样,如下图:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现