У меня есть клиент RestSharp API, в котором много повторяющегося кода для установки некоторых заголовков и обработки исключений. Я хочу централизовать это в единую функцию где-то, но я не могу понять, как из документов. Пример Recommended Usage выглядит действительно многообещающе, но метод Execute, похоже, не вызывается автоматически. Если я использую рекомендуемый синтаксис client.Get<User>()
(где я выбираю пользователя), он, похоже, не использует / не вызывает метод Execute.
Вот пример моих вызовов API:
public User GetUserByUserId(Guid userID)
{
var request = new RestRequest("api/Users");
request.AddHeader("accept", "application/vnd.cardivation.com.v2+json");
request.Parameters.Add(new Parameter("userID", userID, ParameterType.QueryString));
var response = client.Get<User>(request);
if (response.ResponseStatus == ResponseStatus.Error)
{
throw new ApplicationException("Could not fetch user from API", response.ErrorException);
}
return response.Data;
}
Вызов AddHeader и проверка статуса ответа - это биты, которые я хочу централизовать.