Непассивное изменение в RestSharp 106.6.2 - PullRequest
0 голосов
/ 31 декабря 2018

.net Core.Используя RestSharp 106.5.4, это было допустимо.Конечная точка Приоритеты поддерживает List<string> priorities в качестве параметра запроса.

string server = "http://localhost:11111";
var client = new RestClient(server);
string filter = "?priority=Low&priority=Medium"
var request = new RestRequest($"priorities{filter}", Method.GET);
var response = client.Execute<Priorities>(request);

Когда я просматриваю свойство ResponseUri объектов ответа, оно имеет http://localhost:11111/priorities?priority=Low&priority=Medium

Точно так, как я и ожидал.Я обновил свой проект для использования RestSharp 106.6.2, и URI запроса полностью изменился, и ломает существующий код.

С RestSharp 106.6.2 он изменяет мой URI, и я получаю этот ResponseUri обратно

http://localhost:11111/priorities?priority=Low,Medium

Это означает, что теперь я получаю только один элемент в моем массиве строк в запросе, разделенный запятой, вместо 2 элементов, как это было раньше.

Почему это было непассивным изменениемсделал?Это сломало наших клиентов, потому что теперь он видит только один элемент, переданный в список приоритетов, а именно «Низкий, средний» , вместо двух элементов в массиве, как и должно быть.Это изменяет то, что было передано в вызов, и делает вызов недействительным как низкий, средний - это не значение, низкий - это значение, а средний - это значение.

Является ли это дефектом в новой версии restsharps, илиэто было сделано специально?

Я знаю, что могу повернуть и использовать объекты параметров для этого, но до самой последней версии restsharp у меня тоже не было, и она работала отлично.

...