Как выполнить запрос на получение с RestSharp? - PullRequest
6 голосов
/ 09 августа 2011

У меня проблемы с выяснением, как сделать запрос GET с помощью RestSharp на Windows Phone 7. Во всех примерах показано выполнение запроса POST, но мне просто нужен GET. Как мне это сделать?

Ответы [ 2 ]

16 голосов
/ 10 августа 2011

GET - это метод по умолчанию, используемый RestSharp, поэтому, если вы не укажете метод, он будет использовать GET:

var client = new RestClient("http://example.com");
var request = new RestRequest("api");

client.ExecuteAsync(request, response => {
    // do something with the response
});

Этот код сделает запрос GET для http://example.com/api.Если вам нужно добавить параметры URL, вы можете сделать это:

var client = new RestClient("http://example.com");
var request = new RestRequest("api");    
request.AddParameter("foo", "bar");

Что означает http://example.com/api?foo=bar

2 голосов
/ 09 августа 2011

То, что вы ищете, находится здесь .

Ниже приведен фрагмент кода, который охватывает ваш сценарий (request.Method должен быть установлен на Method.GET):

public void GetLabelFeed(string label, Action<Model.Feed> success, Action<string> failure)
{
    string resource = "reader/api/0/stream/contents/user/-/label/" + label;

    var request = GetBaseRequest();
    request.Resource = resource;
    request.Method = Method.GET;
    request.AddParameter("n", 20); //number to return

    _client.ExecuteAsync<Model.Feed>(request, (response) =>
    {
        if (response.ResponseStatus == ResponseStatus.Error)
        {
            failure(response.ErrorMessage);
        }
        else
        {
            success(response.Data);
        }
    });
}
...