.NET RestClient 基本使用

依赖下载

下载RestSharp

image.png

使用案例

案例网址:https://developer.fedex.com/api/zh-cn/catalog/authorization/v1/docs.html

以FedEx请求获取token为例:

要求请求头输入 content-type , 请求体分别输入granttype, clientid 和 client_secert

image.png

var apiAddress = "https://apis-sandbox.fedex.com/oauth/token";
var client = new RestClient(apiAddress);

// 指定请求方式
var request = new RestRequest
{
    Method = Method.Post,
};

// 添加请求头内容
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");

// 添加请求体内容
request.AddParameter("grant_type", "client_credentials");
request.AddParameter("client_id", ConfigHelper.GetStrByPath("ClientInfo:ClientId"));
request.AddParameter("client_secret", ConfigHelper.GetStrByPath("ClientInfo:ClientSecret"));

// 发送请求
RestResponse restResponse = client.Execute(request);

// 获取响应信息
string content = restResponse.Content;
// await Console.Out.WriteLineAsync(content);

string token = "";
// 根据成功与否,分别序列化结果
if (restResponse.IsSuccessful)
{
    SuccessResponse? successResponse = JsonSerializer.Deserialize<SuccessResponse>(content);
    token = successResponse.access_token;
    Console.Out.WriteLineAsync("\r\n" + successResponse.access_token);
}
else
{
    ErrorResponse? errorResponse = JsonSerializer.Deserialize<ErrorResponse>(content);
    Console.Out.WriteLineAsync("\r\n" + errorResponse.errors[0].message);
    throw new Exception(errorResponse.errors[0].message);
}

补充

此外,若请求体结构复杂,以下图为例:

image.png

可使用 request.AddJsonBody(xxxx) 传入实体类.

使用演示

假设请求的api要求请求体为上图所示结构

可以先复制样例数据,进入 https://json2csharp.com/ ,转化为对应实体类

image.png

然后根据业务需求填充该请求体内容

最后调用 request.AddJsonBody(xxxx) 将请求体传入,其他步骤和之前一样

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值