RestSharp:在哪里可以放置对每个请求都执行的通用代码?

时间:2019-04-26 10:33:48

标签: restsharp

我有一个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”调用和检查响应状态是我要集中的位。

0 个答案:

没有答案