我想使用 restSharp 的 PUT/POST 方法在 redmine 上创建/修改问题。
我找不到有关使用 Rest sharp 的 xml PUT/POST 的有值(value)信息。我尝试了 restsharp.org 中的各种方法,例如 Addbody("test", "subject");
, IRestResponse response = client.Execute(request);
但没有任何变化在红矿。我做错了什么?
POST 给出“只允许获取、放置 和删除请求”。消息。
PUT 给出“只允许获取、发布 和删除请求”。消息。
我的代码
RestClient client = new RestClient(_baseUrl);
client.Authenticator = new HttpBasicAuthenticator(_user, _password);
RestRequest request = new RestRequest("issues/{id}.xml", Method.POST);
request.AddParameter("subject", "Testint POST");
request.AddUrlSegment("id", "5");
var response = client.Execute(request);
最佳答案
问题出在序列化中。我的 Issue
类包含导致序列化出现问题的各种其他类的对象。
我们是这样做的:
RestRequest request = new RestRequest("issues/{id}.xml", Method.PUT);
request.AddParameter("id", ticket.id, ParameterType.UrlSegment);
request.XmlSerializer = new RedmineXmlSerializer();
request.AddBody(ticket);
RestClient client = new RestClient(_baseUrl);
client.Authenticator = new HttpBasicAuthenticator(_user, _password);
IRestResponse response = client.Execute(request);
关于c# - 无法使用 XML 使用 Rest Sharp PUT/POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13385206/