# FluentRestShrap **Repository Path**: DXFB/fluent-restshrap ## Basic Information - **Project Name**: FluentRestShrap - **Description**: 使用restsharp二次封装,实现便捷发送请求 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 3 - **Created**: 2024-09-14 - **Last Updated**: 2025-01-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FluentRestShrap #### 介绍 使用restsharp二次封装,实现便捷发送请求 #### 安装教程 nuget 搜索FluentRestSharp #### 使用说明 1. 功能介绍 将restsharp类库二次封装,实现通过流式调用。大部分api和原生使用无异。 2. 核心类介绍 (1) FluentClient //内部维护一个RestClient对象 ``` var client=new FluentClient(); var request= client.AddCookie(string name, string value, string path, string domain)//添加cookie .AddDefaultHeader(string name, string value)//添加默认请求头 .AddDefaultParameter(string name, string value)//添加默认form参数 .AddDefaultQueryParameter(string name, string value)//添加默认query参数 .AddDefaultUrlSegment(string name, string value)//添加请求路径默认占位符参数 .UseAuthenticator(IAuthenticator authenticator)//添加认证器 .BuildClient(string baseUrl);//client构造完毕,转到request请求构造 (2) FluentRequest //内部维护一个RestRequest对象 var result=request .Get()//post,delete,put,patch等声明请求方式 .AddBodyData(T bodyData, BodyType type = BodyType.Json)//添加body数据,默认json形式,枚举参数可选xml格式 .AddFile(string name, string filePath, string contentType = null) //使用文件地址形式添加文件 .AddFile(string name, byte[] file, string fileName, string contentType = null)//使用byte[]形式上传文件 .AddHeader(string key, string value) //添加请求头 .AddParameter(string key, string value)//添加form参数 .AddQueryParameter(string key, string value)//添加url请求参数 (3) FluentResult //client执行request的结果由此类处理 result.GetResponse();//获取restsharp完整请求 result.GetContent();//获取请求内的content数据 result.GetResult();//获取返回数据内data 并转为泛型 result.DownloadStream();//流形式下载文件 result.DownloadBytes();//byte[]形式下载 以上方法都有异步实现 (4) 简单调用 var result= serviceProvider.GetService() .BuildClient("http://www.baidu.com") .Get() .BuildRequest() .GetResponse(); ```