0

我必须使用 RestSharp 将一些数据放入 API。

API 资源为:/clients/services/finances/{finances-id}/subcategory/{subcategory-id}

除了模板参数,还有一些查询参数: organization-id (string) operator-id (string)

而且,请求 Content-Type 必须是 application/xml

我尝试使用 RestSharp 创建此 PUT 请求的方式:

 RestClient client = new RestClient(url);
 client.Authenticator = Auth1Authenticator.ForRequestToken(Config.getVal("api_key"), Config.getVal("secret_key"));
 IRestRequest request = new RestRequest("", Method.PUT);
 request.RequestFormat = DataFormat.Xml;
 request.AddParameter("organization-id", Config.getVal("params.org")); 
 request.AddParameter("operator-id", "Accounting");
 IRestResponse response = client.Execute(request);

但我只得到 HTTP 状态 415 - 不支持的媒体类型

你能帮我解决这个问题吗?GET 请求就像一个魅力。

4

1 回答 1

1

尝试像这样发送您的请求正文:

request.XmlSerializer = new RestSharp.Serializers.XmlSerializer();
request.RequestFormat = DataFormat.Xml;
request.AddBody([new instance of the object you want to send]); 

另外,您确定您访问的 URL 是正确的(即占位符是否填充了您的参数)?

或者,您可以尝试这样做:

request.AddParameter("text/xml", [your object to serialize to xml], ParameterType.RequestBody);

您也可以尝试使您的示例尽可能类似于 restsharp wiki 示例以使其工作:

https://github.com/restsharp/RestSharp/wiki/Recommended-Usage

于 2013-05-16T12:26:27.383 回答