У меня есть приложение Spring, в котором есть контроллер, который перенаправляет пользователя на определенный URL-адрес на основе данных, которые он мне отправляет.Если данные неверны, я направляю их на URL с кодом ошибки и описанием.Однако, когда я делаю это перенаправление, он добавляет /
перед параметрами запроса, делая перенаправление неправильным.Таким образом, код будет выглядеть следующим образом:
Controller.class
String Failure_URL="https://www.google.com";
if(response.getStatus()!=200) {
//there was an error, so redirect to error URL
//map response to my object class
MyObject obj = new MyObject(response);
String redirectURL = Failure_URL + "?error_code=" + obj.getError_Code()
+ "&description=" + obj.getDescription();
}
return new ModelAndView("redirect:" + redirectURL);
Когда я смотрю на свою сетевую трассировку во время тестирования, я вижу, что заголовок Location установлен правильно.https://www.google.com?error_code=001&description=System+Error
, однако, когда он перенаправляет URL-адрес, он превращается в https://www.google.com/?error_code=SECB001&description=System+Error
, превращая эти параметры запроса в URI пути.Есть ли способ помешать этому, это означает, что эти значения не установлены как параметры правильно.Это связано с +
в описании, и я должен его кодировать?