RestClient.Net 介绍
RestClient.Net 是一个现代的、类型安全的 C# REST 客户端,为 HTTP 通信带来函数式编程模式。
为什么需要另一个 REST 客户端?
.NET 中的传统 HTTP 客户端有一个问题:它们会抛出异常。这迫使开发者使用 try/catch 块,使错误处理变得不一致且容易出错。
RestClient.Net 采用了不同的方法。每个 HTTP 调用返回一个必须显式处理的 Result 类型,而不是抛出异常。
可辨识联合的力量
// 发起 GET 请求
var result = await httpClient.GetAsync(
url: "https://api.example.com/posts/1".ToAbsoluteUrl(),
deserializeSuccess: DeserializePost,
deserializeError: DeserializeError
);
// 模式匹配 - 编译器强制你处理所有情况
var output = result switch
{
OkPost(var post) => $"成功: {post.Title}",
ErrorPost(ResponseErrorPost(var err, var status, _)) => $"API 错误: {status}",
ErrorPost(ExceptionErrorPost(var ex)) => $"异常: {ex.Message}",
};
穷尽性检查
使用 Exhaustion 分析器,如果你遗漏了某个情况,代码将无法编译。不再有运行时惊喜。
开始使用
dotnet add package RestClient.Net
查看文档了解更多!