Подтвердить что ты не робот

WebClient restful Удалить

У меня есть простая служба Restful, вызываемая из консольного приложения, поэтому я использую WebClient. Мне интересно, правильно ли этот вызов для удаления.

URL-адрес выглядит как localhost/RestService1/Person/1

using (var client = new WebClient()) 
{
    client.UploadString(url, "DELETE", "");
}

Мне не нравится, что UploadString не имеет перегрузки без параметра данных. Прохождение пустого параметра плохо со мной. Есть ли лучший способ использовать для "УДАЛИТЬ"?

Я мог бы использовать WebRequest, но я хочу просто использовать WebClient, чтобы он был последовательным.

Вот блок WebRequest

var request = WebRequest.Create(url);
request.Method = "DELETE";
var response = (HttpWebResponse)request.GetResponse();

Оба блока работают нормально, но что лучше? Или есть лучший способ?

4b9b3361

Ответ 1

Для меня работает следующее:

client.UploadValues(url, "DELETE", new NameValueCollection()); 

Ответ 2

Класс WebClient не очень хорошо подходит для спокойного потребления api, я использовал сторонние библиотеки, такие как RestSharp в прошлом которые больше ориентированы на этот тип веб-запроса. Я уверен, что RestSharp просто использует HttpWebRequest под обложками, но он предоставляет много семантики, которые облегчают потребление и повторное использование ресурсов для отдыха.

Ответ 3

Перейдите к клиентским библиотекам Microsoft.Net.Http http://nuget.org/packages/Microsoft.Net.Http

HttpClient - гораздо лучший клиент для работы с API.