RESTCLIENT.NET
菜单
中文
↗ GitHub

面向 .NET 的函数式 HTTP 工具箱 ↗ OPEN SOURCE

每种结果。
尽在掌握。

把不确定的网络,变成明确的类型。使用 Result、模式匹配和穷尽性检查,让每一个 C# HTTP 请求都有清晰的结果。

01 / 请求实验室

HTTP → RESULT<T, E>

200 OK → 成功结果中包含已反序列化的响应。

var message = result switch
{
    OkPost(var post) => post.Title,
    ErrorPost(ResponseErrorPost(var error, var status, _)) => $"HTTP {status}",
    ErrorPost(ExceptionErrorPost(var exception)) => exception.Message
};
交互演示 · 无网络请求 · 类型别名请参阅文档

02 / 为实际开发而设计

可靠,源于明确。

03 / 开始构建

从一个请求开始。

使用熟悉的 C#,明确处理每一个结果。

安装指南 ↗
dotnet add package RestClient.Net
using RestClient.Net;
using Urls;

var result = await httpClient.GetAsync(
    "https://api.example.com/posts/1".ToAbsoluteUrl(),
    deserializeSuccess: DeserializePost,
    deserializeError: DeserializeError
);

// All outcomes stay in the return value.
// Add your aliases and handle each branch.

04 / 开发笔记

思考更清晰,构建更可靠。

全部文章 ↗