RestSharp for C# (.NET): 完整指南及示例

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

什么是 RestSharp,为什么需要它?

\n\n

RestSharp 是一个用于 C# (.NET) 语言的流行开源库,旨在简化与 RESTful API 的交互。它提供了一个方便且直观的接口,用于执行 HTTP 请求(GET、POST、PUT、DELETE、PATCH 等)以及处理来自 Web 服务的响应。

\n\n

RestSharp 解决了几个关键问题:

\n
    \n
  • 简化代码: 无需使用 HttpClient 编写冗长的代码,RestSharp 提供了简洁的流畅接口。
  • \n
  • 自动序列化/反序列化: 该库自动将您的 C# 对象转换为 JSON/XML,反之亦然,省去了手动操作。
  • \n
  • 便捷的错误处理: RestSharp 提供了清晰的类来处理 HTTP 状态码和异常。
  • \n
  • 身份验证支持: 内置支持 OAuth、Basic Auth、JWT 及其他方案。
  • \n
  • 文件处理: 轻松上传和下载文件。
  • \n
\n\n

该库广泛应用于 .NET 应用程序(ASP.NET Core、控制台应用程序、Xamarin、Unity)中,用于与外部服务集成:社交媒体、支付系统、云平台等。

\n\n

安装 RestSharp

\n\n

RestSharp 通过 NuGet 包管理器安装。选择以下方式之一:

\n\n

通过包管理器控制台(Visual Studio):

\n
Install-Package RestSharp
\n\n

通过 .NET CLI(命令行):

\n
dotnet add package RestSharp
\n\n

通过 NuGet 界面(Visual Studio/Rider):

\n

打开 管理 NuGet 包 → 搜索 RestSharp → 安装最新的稳定版本。

\n\n

安装后,在代码中添加 using 指令:

\n
using RestSharp;
\n\n

快速入门:第一个请求

\n\n

让我们向公共 API(JSONPlaceholder)发送一个简单的 GET 请求,并获取用户列表。

\n\n
using RestSharp;\n\nvar client = new RestClient("https://jsonplaceholder.typicode.com");\nvar request = new RestRequest("/users", Method.Get);\n\nvar response = client.Execute(request);\n\nif (response.IsSuccessful)\n{\n    Console.WriteLine(response.Content); // 输出 JSON 字符串\n}\nelse\n{\n    Console.WriteLine($"错误: {response.StatusCode} - {response.ErrorMessage}");\n}
\n\n

这段代码创建了一个客户端,向 /users 端点发起 GET 请求,并将响应输出到控制台。请注意:response.IsSuccessful 用于检查响应状态码是否在 200-299 范围内。

\n\n

RestSharp 的主要方法和功能

\n\n

以下是该库的关键方法,包含说明、参数和示例。

\n\n

1. RestClient(string baseUrl) — 客户端构造函数

\n

说明: 创建一个带有基础 URL 的 HTTP 客户端实例。所有后续请求都将以此 URL 为基础。

\n

参数:

\n
    \n
  • baseUrl (string) — API 的基础地址(例如 "https://api.example.com")。
  • \n
\n

示例:

\n
var client = new RestClient("https://api.github.com");
\n\n

2. RestRequest(string resource, Method method) — 创建请求

\n

说明: 使用指定的方法(GET、POST、PUT、DELETE 等)向指定资源发起 HTTP 请求。

\n

参数:

\n
    \n
  • resource (string) — 资源的相对路径(例如 "/users")。
  • \n
  • method (Method) — 来自 Method 枚举的 HTTP 方法(Get、Post、Put、Delete、Patch、Head、Options)。
  • \n
\n

示例:

\n
var request = new RestRequ                    

推荐