Могу ли я использовать словарь для добавления параметров запроса в restsharp в метод addqueryparameter?
У меня есть свой метод sendRequest, в котором я передаю свои параметры contentType, token и query.
Я использовал словарь<string, string> Для моих параметров запроса, но я получаю ошибку. Он показывает, что AddQueryParameter принимает строковое имя, строковое значение, поэтому я не понимаю, почему он не может принять словарь. Ошибка, которую я получаю
"Нет перегрузки для метода AddQueryParameter"
И моя просьба тоже.Метод addparameter получаю сообщение об ошибке здесь "использования присваивается локальной переменной ООН". Должен ли я присвоить переменной запроса IRestRequest значение = null. Разве это не вызовет исключение nullpointerexception?
Вот что у меня есть
private static IRestRequest sendRequest(string contentType, string token, Dictionary<string, string> paramsMap) { IRestRequest request; //if token is null no need to add the token. Some request requires token, Some does not if (token != null) { request.AddParameter("Authorization", "Bearer" + token, ParameterType.HttpHeader); } if (!(paramsMap == null)) { request.AddQueryParameter(paramsMap); } if (contentType != null) //if contentType is not null then add content type { if (contentType.Equals("JSON")) { request.AddHeader("Accept", "application/json"); } else if (contentType.Equals("XML")) { request.AddHeader("Accept", "application/xml"); } else if (contentType.Equals("TEXT")) { request.AddHeader("Accept", "text/plain"); } } return request; }
Что я уже пробовал:
private static IRestRequest sendRequest(string contentType, string token, Dictionary<string, string> paramsMap) { IRestRequest request = null; //this may solve my local request variable problem //if token is null no need to add the token. Some request requires token, Some does not if (token != null) { request.AddParameter("Authorization", "Bearer" + token, ParameterType.HttpHeader); } if (!(paramsMap == null)) { request.AddQueryParameter(paramsMap); } if (contentType != null) //if contentType is not null then add content type { if (contentType.Equals("JSON")) { request.AddHeader("Accept", "application/json"); } else if (contentType.Equals("XML")) { request.AddHeader("Accept", "application/xml"); } else if (contentType.Equals("TEXT")) { request.AddHeader("Accept", "text/plain"); } } return request; }