RestSharpPUTXML,RestSharp将其作为GET发送?我正在尝试使用XML在C#中使用RestSharp使用prestashopAPI编辑产品。文档说明如下:要编辑现有资源:获取要更改的资源的完整XML文件(/api/customers/7),根据需要编辑其内容,然后将整个XML文件放回相同的URL再次。我正在尝试编辑/customers/1。我的GET调用可以很好地检索数据。我现在正在反序列化数据,根据需要进行编辑,然后重新保存到XML文件。一切似乎都很顺利。我现在尝试更改的唯一字段是名字和姓氏。其余数据不受影响。这是我正在使用的XML的副本:newLastNamenewFirstName该文件保存为EditedXML.xml。同样,根据文档(我在上面粘贴),要编辑资源,我应该使用PUT将XML放回相同的URL(即/customers/1)。因此,在创建此主题之前,我使用以下代码尝试执行此操作://PUTcallvarputRequest=newRestRequest("/customers/1",Method.PUT);varbody=System.IO.File.ReadAllText("EditedXML.xml");请求.AddBody(正文);IRestResponseputResponse=client.Execute(putRequest);Console.WriteLine("响应:"+putResponse.Content);现在我的问题来了。我收到错误(最初在HTML中,我将其打开为HTML以将其发布为更具可读性:)方法未实现GET到/api/customers/1不受支持。此外,在尝试使用ErrorDocument处理请求时遇到了404NotFound错误。我发现此错误非常令人困惑,原因有两个:1)似乎即使我的请求是Method.PUT,它也被读取为GET?2)它声称的甚至不是真的?我必须在同一资源上调用GET函数才能获取初始数据吗?只是有人想看到GET调用,这里是:request=newRestRequest(Method.GET);request.Resource="/customers/1";IRestResponsenewResponse=client.Execute(request);任何人都知道发生了什么事?我不确定如何调试它,我不确定PUT调用是否正常工作,或者我的PUT调用参数错误,或者什么......我们遇到了类似的问题,我们不得不使用以下内容正确设置文本的代码。request.AddParameter("application/x-www-form-urlencoded",rawXml,ParameterType.RequestBody);“请求。AddBody(正文);”似乎不起作用。看看我如何更新客户的这个例子。以上是C#学习教程:RestSharpPUTXML,RestSharpsenditasGET?所有分享的内容,如果对你有用,需要进一步了解C#学习教程,希望大家多多关注——//GETcustomerwithid1varclient=newRestClient(PrestaShopBaseUrl);client.Authenticator=newHttpBasicAuthenticator(PrestaShopAccount,"");RestRequestrequest=newRestRequest("/customers/1",Method.GET);IRestResponse响应=client.Execute(请求);XmlDocumentdoc=newXmlDocument();doc.LoadXml(response.Content);doc.Save(@"Customer.xml");//对客户文件做一些事情//初始化XMLDocument并在其中加载客户doc=newXmlDocument();doc.Load(@"Customer.xml");//更新(PUT)客户请求=newRestRequest("/customers/1",Method.PUT);请求.Parameters.Clear();request.AddParameter("text/xml;charset=utf-8",doc.InnerXml,ParameterType.RequestBody);response=client.Execute(请求);本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
