REST模式,用于可能是LIKE搜索的查询参数



嗨,我正在构建一个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有效的字符,像这样:

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

是否有我应该使用的既定或推荐的模式?谢谢!

使用查询字符串进行搜索是可以的,但是在查询字符串中使用像"*"或"?"这样的宏字符就有点奇怪了(除非你决定构建一个像Google这样真正强大的搜索引擎)。更重要的是,默认情况下,搜索通常被认为是模糊模式,所以在关键字后面加上"*"是多余的。如果你确实需要精确搜索,你可以用双引号包围精确(或严格)关键字。也就是说,我推荐使用/place?city=York&state="NY"而不是/place?city=*York*&state=NY

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

最新更新