Member 14779968 Ответов: 1

Как установить baseurl в restsharp в качестве строки в моем методе?


Я хочу установить свой BaseUrl как строку, но клиент.BaseUrl возвращает URI, потому что у меня есть свои общие методы GET и POST, которые его используют, но я сталкиваюсь с этой проблемой

private static bool setBaseURL(string baseURL)
      {
          if (baseURL == null || baseURL.Empty())
          {
              Console.WriteLine("Please pass the correct base URL....");
              return false;
          }
          try
          {
              RestClient client = new RestClient();
              client.BaseUrl = baseURI; //Here is where I want to set it
              return true;
          }
          catch (Exception e)
          {
              Console.WriteLine(e.Message);
              return false;
          }

      }



//Вот мой метод GET и POST для справки

public static IRestResponse doGet(string contentType, string baseURI, string basePath,
        string token, Dictionary<String, String> paramsMap)
    {
        if (setBaseURI(baseURI))
        {
            IRestRequest request = sendRequest(contentType, token, paramsMap);
            return getResponse("GET", request, basePath);
        }
        return null;

    }




    public static IRestResponse doPost(string contentType, string baseURI, string basePath,
       string token, Dictionary<String, String> paramsMap, Object obj)
    {
        if (setBaseURI(baseURI))
        {
            IRestRequest request = sendRequest(contentType, token, paramsMap);
            addRequestPayload(request, obj);
            return getResponse("POST", request, basePath);
        }
        return null;

    }


Что я уже пробовал:

Я не уверен, что это метод клиента.BaseHost .. не уверен, что смогу это использовать
client.BaseHost = baseURI

1 Ответов

Рейтинг:
0

Richard Deeming

Посмотрите на то, что ваш setBaseURL метод есть делание:

  1. Создайте новый RestClient пример;
  2. Установите его BaseUrl собственность;
  3. Бросить этого экземпляра подальше, и возвращение true;

Когда метод возвращается, изменения, внесенные в локальную переменную, нигде не сохраняются. Они не будут иметь никакого влияния на любые последующие экземпляры RestClient класс.

Вам нужно установить BaseUrl на том же экземпляре IRestClient которые вы используете для выполнения своих запросов. Это означает, что вам нужно будет изменить свои методы так, чтобы вы прошли IRestClient инстанции.