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

Клиент API С# REST

Я успешно создал API REST PHP, который находится на моем сервере. Теперь я хочу создать клиентское соединение с этим приложением WPF С#. Я нашел этот, но мой API требует, чтобы ключ API отправлялся через HTTP-заголовок, и я не вижу, что вы можете это сделать. Я также создал клиент REST PHP, использующий CURL, и это было очень просто, и надеялся, что в С# будет что-то встроенное для обработки запросов к службам REST.

Если кто-то может указать мне в сторону учебника, который они видели, или библиотеки где-нибудь, я был бы благодарен.

Спасибо.

4b9b3361

Ответ 1

Посмотрите RESTSharp. Очень мощный и простой в использовании.

Работает на всех платформах: Web, Windows, WCF, Monotouch, Windows Phone

Ответ 2

Вы можете просто использовать HttpWebRequest или WebClient сделать веб-запросы, как у вас с CURL в вашем PHP-клиенте...

Если вам нужно иметь дело с ответами на основе JSON, JSON.Net - фантастическая библиотека.

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://a/rest/uri");
request.Method = "POST";
request.Headers.Add("Authorization: OAuth " + accessToken);
string postData = string.Format("param1=something&param2=something_else");
byte[] data = Encoding.UTF8.GetBytes(postData);

request.ContentType = "application/x-www-form-urlencoded";
request.Accept = "application/json";
request.ContentLength = data.Length;

using (Stream requestStream = request.GetRequestStream())
{
    requestStream.Write(data, 0, data.Length);
}

try
{
    using(WebResponse response = request.GetResponse())
    {
        // Do something with response
    }
}
catch (WebException ex)
{
    // Handle error
}

Ответ 3

Также вы можете использовать HttpClient в .NET 4.5.
Если вы используете .NET 4.0, API HttpClient доступен в Microsoft.Net.Http nuget.

Ответ 4

Вы также можете проверить Hammock.NET @http://hammock.codeplex.com/; с радостью работать. Вы действительно не нуждаетесь в WCF во всей вероятности.

Ответ 5

Если ваш PHP-сервер REST API документирован с помощью Swagger, например. используя swagger-php, вы можете использовать swagger-codegen для генерировать клиентов API в С#, Java, PHP, Ruby, Python и т.д., используя спецификацию Swagger, которая описывает ваш PHP-сервер.