我使用URLComponents从查询项构建URL,我想将一些查询项添加为OR条件而不是AND。我不知道这是什么正确的术语。无论如何,我想要以下,大致
website.com/things?param1=thing¶m2=thing|param3=thing|param4=thing
但附加查询项目我只能获得
website.com/things?param1=thing¶m2=thing¶m3=thing¶m4=thing
我的目标是检查我传入的术语的3个不同参数,并返回任何匹配的任何结果3.如果我从字符串构造url,我可以使用管道而不是&符号(我想 - 请纠正我,如果错了),但我使用URLComponents,我不知道如何做到这一点。
也许我错了。我没有这方面的经验。如果这是错误的方法,请指出我正确的方向。我不确定如何恰当地说出这个问题,这很难找到答案
答案 0 :(得分:2)
我不确定这个的正确术语是什么
没有术语;它不存在。你要做的是非标准的。没有查询项OR条件。标准分离器是分号和符号,几乎普遍使用和号。您无法使用管道来分隔查询项。
因此,例如,如果您将website.com/things?param1=thing¶m2=thing|param3=thing|param4=thing
粘贴到http://www.freeformatter.com/url-parser-query-string-splitter.html的解析器中,它就不知道管道的内容;它认为param2
必须是thing|param3=thing|param4=thing
。
因此,URLComponents不会为您插入管道。它的目标和目的是制作一个有效的URL,并且你试图制作一个无效的URL。