URL-адрес Swift3 из URLComponents, как добавить элементы запроса ИЛИ

Я создаю URL-адрес из элементов запроса, используя URLComponents, и я хочу добавить некоторые элементы запроса в качестве условий ИЛИ, а не И. Я не уверен, что это правильная терминология. Во всяком случае, я хотел бы следующее, примерно

website.com/things?param1=thing&param2=thing|param3=thing|param4=thing

но добавляя элементы запроса, я могу получить только

website.com/things?param1=thing&param2=thing&param3=thing&param4=thing

Моя цель - проверить 3 разных параметра для термина, который я передаю, и вернуть любые результаты, которые совпадают с любым из 3. Если бы я строил URL-адрес из строки, я мог бы просто использовать канал вместо амперсанда (я думаю - пожалуйста, поправьте меня, если я ошибаюсь), но я использую URLComponents и не знаю, как это сделать.

Возможно, я неправильно об этом говорю. У меня нет большого опыта в этом. Если это неправильный подход, пожалуйста, укажите мне правильное направление. Я не уверен, как правильно сформулировать этот вопрос, и это затрудняет поиск ответа.


person R.P. Carson    schedule 14.02.2017    source источник
comment
Насколько мне известно, такого элемента запроса условия ИЛИ (|) нет.   -  person Ahmad F    schedule 14.02.2017


Ответы (1)


Я не уверен, какая правильная терминология для этого

Для него нет терминологии; его не существует. То, что вы пытаетесь сделать, нестандартно. Не существует такой вещи, как элемент запроса ИЛИ условие. Стандартными разделителями являются точка с запятой и амперсанд, причем амперсанд используется почти повсеместно. Вы не можете использовать конвейер для разделения элементов запроса.

Так, например, если вы вставите website.com/things?param1=thing&param2=thing|param3=thing|param4=thing в парсер по адресу http://www.freeformatter.com/url-parser-query-string-splitter.html, он не знает, что делать с каналами; он думает, что param2 должно быть thing|param3=thing|param4=thing.

Таким образом, URLComponents не собирается вставлять канал за вас. Его цель и задача — сделать правильный URL, а вы пытаетесь сделать недействительный.

person matt    schedule 14.02.2017