0

我使用 URLComponents 从查询项构造 URL,并且我想将一些查询项添加为 OR 条件而不是 AND。我不确定这个的正确术语是什么。无论如何,我想大致如下

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 并且不知道如何做到这一点。

也许我做错了。我对此没有太多经验。如果这是错误的方法,请指出我正确的方向。我不知道如何恰当地表达这个问题,这使得很难找到答案

4

1 回答 1

2

我不确定这个的正确术语是什么

没有术语。它不存在。你试图做的是非标准的。没有查询项或条件之类的东西。标准分隔符是分号和&符号,&符号几乎普遍使用。您不能使用管道来分隔查询项。

因此,例如,如果您在http://www.freeformatter.com/url-parser-query-string-splitter.htmlwebsite.com/things?param1=thing&param2=thing|param3=thing|param4=thing处粘贴到解析器中,它不知道管道的构成;它认为必须是。param2thing|param3=thing|param4=thing

因此,URLComponents 不会为您插入管道。它的目标和目的是创建一个有效的 URL,而您正试图创建一个无效的 URL。

于 2017-02-14T02:19:25.110 回答