繁体   English   中英

Restsharp补丁请求

[英]Restsharp Patch request

我正在使用restsharp客户端。 尝试创建补丁请求并更新几个字段。 这是我第一次使用restsharp 的经验。 我收到 json 解析器错误(JSON 补丁文件格式错误,无法解析)。

我可以毫无问题地执行 POST 请求。

这是我的代码:

var client = new RestClient(RequestProperties.ClientUrl + @"Jobs?id=" + jobs.JobAccessId.ToString());    
var token = RequestProperties.Token;

client.AddDefaultHeader("Authorization", string.Format("Bearer {0}", token));

var request = new RestRequest(Method.PATCH) { RequestFormat = DataFormat.Json };

request.AddHeader("Postman-Token", token);
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Content-Type", "application/json-patch+json");
request.AddJsonBody(new { op = "replace", path = "/shippedDate", value = jobs.ShippedDate });
request.AddJsonBody(new { op = "replace", path = "/statusdCode", value = jobs.StatusdCode.ToString() });

IRestResponse response = client.Execute(request);

这段代码有几个问题:

  1. 最好为一个基本 URL 保留一个RestClient实例。 基本 URL 不应包含任何参数值。
  2. 我们建议使用AddQueryParameter为每个请求指定查询参数。
  3. 您最好使用 JWT 授权程序为请求提供不记名令牌,而不是手动添加标头。 它也是在客户端级别完成的。
  4. 使用AddJsonBody ,不需要添加内容类型和请求数据类型,都是自动完成的。
  5. 可能最重要的是,对于任何类型的请求,您只能有一个body 参数。 这不是 RestSharp 限制,这就是 HTTP 的工作方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM