Каков наилучший способ использования веб-сервисов REST?

Какой лучший способ использовать веб-службы REST из .NET?

Ответ 1

Прямым и легким подходом было бы использовать WebClient, который находится в пространстве имен System.Net.

Довольно многое, что вам нужно сделать, это передать в Uri необходимые параметры, необходимые в форме строки запроса, и вы должны вернуть ответ в виде строки, будь то json или xml. Например.

using System.Net; 

string param = "hello";

string url = String.Format("http://somedomain.com/samplerequest?greeting={0}",param);

WebClient serviceRequest = new WebClient();
string response = serviceRequest.DownloadString(new Uri(url));

Затем, как и Ник, вы можете использовать XmlDocument или JavaScriptSerializer для управления результатами по мере необходимости. В любом случае, я предлагаю проверить документацию на нем, чтобы узнать, соответствует ли она вашим потребностям. http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx

Ответ 2

Вместо использования WebClient, такого как Kenney, вы можете использовать HttpWebRequest и HttpWebResponse и обрабатывать результат с помощью StreamReader и XmlDocument.

Ответ 3

Существует также RestSharp, легкий компонент .NET, который позволяет вам легко использовать веб-службы REST

Ответ 5

На мой взгляд, самый простой способ реализовать REST API - использовать Service Stack:

http://www.servicestack.net/

В моем последнем проекте Windows я сделал доказательство концепции в WCF и ServiceStack, а приложение Service Stack было быстрее (вы можете искать измерения на сайте Service Stack) и проще в обслуживании (меньше кода, менее магическая реализация). И самое главное, это помогает вам сосредоточиться в простоте.

Ответ 6

Вы хотите потреблять или публиковать. Если вы хотите потреблять, например, делать запросы, лучший способ взаимодействовать с ним - это выяснить, какой тип он будет использовать, как обычно, JSON или XML. После того, как у вас есть свой тип, вы можете использовать XmlDocument или JavaScriptSerializer, чтобы отбросить информацию и использовать ее.

Если вы хотите создать REST-интерфейс, вы, вероятно, захотите использовать MVC как REST View или WCF, как сказал @Brian.

Ответ 7

Если службы REST были созданы с использованием веб-API ASP.NET, я бы использовал библиотеки клиентов Microsoft Http. (доступен пакет nuget). Нотабене Это, кажется, заменило клиентские библиотеки веб-api, которые перечислены в скриншоте nuget по ссылке ниже.

Это будет работать с .NET 4, Windows Store Apps, Windows Phone 7.5/8, Silverlight 4 и 5.

В теории вы можете использовать его для вызова любой службы REST, созданной с использованием других фреймворков.

Здесь ссылка с некоторыми примерами на использование класса HttpClient для вызова служб REST: Вызов веб-api из клиента .net