1

嗨,我正在构建一个 RESTful 应用程序,但找不到推荐的方式来对可选的模糊或 LIKE 查询进行模式化。例如,一个严格的查询可能是,

/place?city=New+York&state=NY

对应于 SQL "... WHERE city="New York" AND state="NY"

但是,如果我想在城市字段中搜索城市名称中带有“York”的任何行怎么办?

"... WHERE city LIKE "%{parameter}%" AND state="{parameter2}"

我正在考虑向请求中添加某种 url-valid 字符,如下所示:

/place?city=*York*&state=NY

我应该使用已建立或推荐的模式吗?谢谢!

4

1 回答 1

2

使用查询字符串进行搜索很好,但使用“*”或“?”等宏字符有点奇怪。在查询字符串中(除非您决定构建一个真正强大的搜索引擎,例如 Google)。更重要的是,默认情况下搜索通常被认为是模糊模式,因此用“*”附加/前置关键字是多余的。如果您确实需要精确搜索,您可以用双引号将精确(或严格)关键字括起来。即,/place?city=*York*&state=NY我建议不要使用/place?city=York&state="NY".

事实上,谷歌使用引号来搜索一个确切的词或一组词,我也发现这个网站采用了这种模式。

于 2013-01-18T02:08:26.223 回答