Я создаю Rest API с загрузкой Spring, и когда я передаю запрос с "?" символ для проверки метода get с параметром запроса "?" символ не закодирован.
Здесь вы можете найти мой пружинный контроллер.
@RequestMapping(value = "/response/{query}", method = RequestMethod.GET,headers="Accept=application/json")
public QueryRep getResponse(@PathVariable("query") String query)
{
QueryRep test=new QueryRep();
System.out.println(query);
// code !!
return test;
}
если я проверяю, например: как меня зовут? Я получаю следующий URL-адрес: http://localhost:8080/response/what%20is%20my%20name? и я получаю в своей консоли строку «как меня зовут» (без символа «?»). Как вы можете видеть "?" символ не кодируется как UTF-8 %3F, в то время как maven (pom.xml) и IDE (STS) настроены на использование UTF-8. Я использую Tomcat в качестве веб-сервера.