2014-11-27 2 views
0

У меня возникли проблемы с пониманием того, что этот фрагмент кода, который я использовал, выполняется в консольном приложении. Я новичок в консольных приложениях и REST, и у меня проблемы с поиском ответов в Интернете. Может кто-нибудь объяснить мне, что делает этот код, возможно, за строку?Пояснение к выполнению запроса REST

public T Execute<T>(RestRequest request) where T : new() 
{ 
    var client = new RestClient(); 
    client.BaseUrl = BaseUrl; 
    var response = client.Execute<T>(request); 

    if(response.ErrorException != null) 
    {  
     const string message = "Error occurred."; 
     var pardotException = new ApplicationException(message, response.ErrorException); 
     throw pardotException; 
    } 
    return response.Data; 
} 

Из моих основных знаний, похоже, это определение метода для запроса REST в консольном приложении. Я вижу базовую обработку ошибок и определение того, куда отправить запрос, но мне не хватает общей цели этого сегмента кода.

EDIT: Есть ли очевидный способ оптимизации этого кода? Теперь я понимаю цель метода, но можно ли это сделать лучше?

ответ

0

Это код, использующий библиотеку RestSharp:

// Method that takes RestRequest and returns an object of generic type T 
// (taken from response, we can assume here) 
public T Execute<T>(RestRequest request) where T : new() 
{ 
    // Create client that will be able to call REST service 
    var client = new RestClient(); 
    // Provide the address of REST service 
    client.BaseUrl = BaseUrl; 
    // Call service, specifing that its response will be deserialized to T 
    var response = client.Execute<T>(request); 

    if(response.ErrorException != null) 
    {  
     const string message = "Error occurred."; 
     var pardotException = new ApplicationException(message, response.ErrorException); 
     throw pardotException; 
    } 
    // get the deserialized response object 
    return response.Data; 
}