在springboot中处理请求参数中的空格

时间:2018-11-19 15:20:12

标签: java rest spring-boot hql

我在HQL中使用

  queryListBuilder.append(" and f.nom like '%"+ nomFil +"%' ");

nomFil是一个字符串,单词之间可能包含空格。 当我发送

 http://localhost:8080/list?nom=First Last

我得到空结果。 附:在我的数据库中,该值存在于我的目标表中。 有什么办法可以在请求参数中处理空格?

2 个答案:

答案 0 :(得分:2)

如果使用内部URL,则应将nomFil编码为:

 URLEncoder.encode(nomFil, "UTF-8");

请参见Percent encoding

  

百分比编码,也称为URL编码,是一种在某些情况下在统一资源标识符(URI)中对信息进行编码的机制。尽管它被称为URL编码,但实际上,它更普遍地用于主要的统一资源标识符(URI)集,该集合包括统一资源定位符(URL)和统一资源名称(URN)。因此,它还用于准备application / x-www-form-urlencoded媒体类型的数据,这在HTTP请求中提交HTML表单数据时经常使用。

答案 1 :(得分:2)

您需要对查询参数进行编码和解码。

Ref:https://www.baeldung.com/java-url-encoding-decoding