面向 .NET 的函数式 HTTP 工具箱 ↗ OPEN SOURCE
每种结果。
尽在掌握。
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 / 为实际开发而设计
可靠,源于明确。
01 — OUTCOME
让错误成为数据。
成功、响应错误、异常:每种结果都拥有明确类型。
Result<T, E> ↗ 02 — EXHAUSTION在构建时检查。
穷尽性分析发现遗漏的分支;复杂分析达到上限时会给出诊断。
探索分析器 ↗ 03 — HTTPCLIENT延续熟悉的工具。
扩展现有 HttpClient 与连接池,保留你熟悉的处理器。
IHttpClientFactory ↗ 04 — OPENAPI从规范到类型。
将 OpenAPI 规范转换为类型明确的 C# 客户端。
生成客户端 ↗ 05 — MCP让 API 成为工具。
通过生成的 Model Context Protocol 服务器公开 API 操作。
探索 MCP ↗ 06 — REFERENCE源码,直接可查。
查阅由真实 C# 声明与 XML 注释生成的 API 文档。
查阅 API ↗dotnet add package RestClient.Netusing 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 / 开发笔记