.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 у меня тоже не было, и она работала отлично.