无法使用 RestSharp 和 GoCardless 设置 MIME 类型

Posted

技术标签:

【中文标题】无法使用 RestSharp 和 GoCardless 设置 MIME 类型【英文标题】:Cannot set MIME type using RestSharp and GoCardless 【发布时间】:2015-04-27 18:10:51 【问题描述】:

使用 C#、.Net 4,5、RestSharp v4.0.3

尝试在 GoCardless 中创建 api_key

我这样创建一个 RestClient:

var client = new RestClient();

client.BaseUrl = SandboxBaseUrl;
client.Authenticator = new HttpBasicAuthenticator(apiKeyId, apiKey);
client.AddDefaultHeader("GoCardless-Version", Properties.Settings.Default.GoCardlessVersion);

client.AddDefaultHeader("Accept", "application/json");
client.AddDefaultHeader("content-type", "application/json");
request.AddHeader("content-type", "application/json");

当我发布到 GoCardless 时出现错误

"error":"message":"'Content-Type' header must be application/json or application/vnd.api+json ......

【问题讨论】:

Does RestSharp overwrite manually set Content-Type?的可能重复 那是 2012 年更早版本的 RestSharp 【参考方案1】:

经过大量徒劳的搜索后,我放弃了并使用了旧 *** 帖子中的解决方案。比如

// Create the Json for the new object
StringBuilder requestJson = new StringBuilder();
var requestObject = new  api_keys = new  name = name, links = new  role = role   ;
(new javascriptSerializer()).Serialize(requestObject, requestJson);
...
// Set up the RestSharp request
request.Parameters.Clear();
request.AddParameter("application/json", requestJson, ParameterType.RequestBody);

我知道为什么会这样 - 甚至可能是 RestSharp 这样做的意图。

【讨论】:

以上是关于无法使用 RestSharp 和 GoCardless 设置 MIME 类型的主要内容,如果未能解决你的问题,请参考以下文章

这些是 RestSharp 和 ServiceStack 的客户端代码之间的主要区别吗? [关闭]

RestSharp 显示无法创建接口实例的错误必须手动反序列化

RestSharp - 错误 - 无法加载文件或程序集 - 系统找不到指定的文件

使用 RESTSHARP 的 OAuth 2 身份验证不起作用

使用RESTSHARP进行OAuth 2身份验证不起作用

如何使用 RestSharp 使用 JWT 访问令牌和用户声明