【问题标题】:AddBody for RestSharp is failing when serializing to JSON序列化为 JSON 时,RestSharp 的 AddBody 失败
【发布时间】:2019-09-20 04:26:48
【问题描述】:

我正在尝试为重新请求发布方法执行 AddBody。我正在使用 RestSharp 版本 104.XXX,它没有 addJsonBody 像版本 105.XXXX 一样,因为我的应用程序面临其他问题。所以我坚持使用版本 104,在此过程中我无法使用 addBody 并发送序列化的 json,每次我使用下面的代码时,我都会得到 . "error":"Unsupported Media Type","message":"Content type 'text/xml;charset=UTF-8' not supported".. 有没有人遇到过这个问题并想出了使用旧版本 RestSharp 的方法。 .

  var restRequest = new RestRequest(Method.POST);
  restRequest.AddHeader("authorization",  "Bearer " + token);
  restRequest.AddHeader("source", "M");
  restRequest.AddHeader("content-type", "application/json");
  restRequest.AddBody(JsonConvert.SerializeObject(requestObj, this.jsonSettings));

【问题讨论】:

  • 试试restRequest.AddParameter("application/json", JsonConvert.SerializeObject(requestObj, this.jsonSettings), ParameterType.RequestBody);,看看有什么不同。
  • @dvo 太棒了谢谢你.. 快速添加比作为答案,这样我就可以接受正确的答案..

标签: c#


【解决方案1】:

您可以通过执行以下操作指定 body 参数为 JSON:

request.AddParameter("application/json", jsonString, ParameterType.RequestBody);

你的情况:

restRequest.AddParameter("application/json", 
                         JsonConvert.SerializeObject(requestObj, this.jsonSettings), 
                         ParameterType.RequestBody);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多