0

我尝试通过调用 Delete API 来删除配置。对于我的 API 请求,我使用 Restsharp,因为它适用于 GET 和 POST。

现在我有以下问题。当我尝试调用删除时,我得到错误

405“方法不允许”

在我的回复中,我收到以下消息:

“不允许使用 HTTP 方法,支持的方法:GET”

代码片段:

var client = new RestClient("http://test.de/");
var request = new RestRequest("testrules/test");
request.Credentials = new NetworkCredential("username", "password");
var response = client.Delete(request);

我还尝试了该client.Execute()方法并添加了要删除的元素的 id 来设置AddParameter()AddUrlSegment()方法。

我在 Fiddler 中跟踪了响应:

DELETE http://test.de/testrules/test HTTP/1.1 
Accept: application/json, application/xml, text/json, text/x-json, text/javascript, text/xml 
User-Agent: RestSharp/105.0.1.0 
Host: test.de
Content-Length: 0
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

当我尝试使用 Chrome 中的 Advanced RestClient 请求时,我在 Fiddler 中收到以下请求:

DELETE http://test.de/testrules/test HTTP/1.1
Host: test.de
Connection: keep-alive
Authorization: Basic Q29udGludW91czp0ZXN0
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36
Origin: chrome-extension://hgmloofddffdnphfgcellkdfbfbjeloo
Content-Type: application/json
Accept: */*
Accept-Encoding: gzip, deflate, sdch
Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4

有人知道使用 RestSharp 删除的示例吗?我从 stackoverflow 中查看了这个示例:RestSharp simple complete example和来自 RestSharp 文档的示例,但这些示例对我没有任何帮助。

4

1 回答 1

0

您有可以发布的 Rest API 服务代码吗?从您写的内容来看,感觉就像 restsharp 客户端使用 HTTP DELETE 关键字发出删除请求,而 Rest API 端点接受 HTTP GET 的 Delete 方法;但是如果没有有关服务器端代码的信息,就很难说。

于 2015-04-02T13:52:36.307 回答