#reactjs #spring #spring-boot #servlets #httpresponse
Вопрос:
Я пытаюсь перенаправить поток из файла java на страницу реакции, используя приведенный ниже код:
user.setIsVerified(true);
User savedUser = userRepository.save(user);
response.put("success", true);
response.put("message", "User Registered is Succesfull");
try {
httpServletResponse.sendRedirect("localhost:3000/loginafterverify");
} catch (IOException e) {
e.printStackTrace();}
return response;
}
else {
response.put("success", false);
response.put("message", "User Registered is not Succesfull!");
return response;
}
}
Это не достигает упомянутой страницы, а домашней страницы, которая указывает на localhost:3000.
Поток не достигает файла загрузки spring из вызова axios в react. Как с этим следует обращаться? Любая помощь будет очень признательна
Комментарии:
1. Если вы вызываете это с помощью axios, вам придется самостоятельно обрабатывать перенаправление на клиенте. Перенаправление будет обрабатываться браузером только в том случае, если браузер контролирует запрос, а не так, как это делает axios. Однако разве все это не должно быть обработано на клиенте в любом случае? Поэтому при успешном ответе обрабатывайте его так же, как и при неудачном. Похоже, вы пытаетесь делать на стороне сервера то, что принадлежит стороне клиента.
2. Запрос исходит из браузера и поступает в файл java. Я осознаю, что поток должен исходить от axios и, наконец, возвращаться к вызову. Но в этом сценарии это не так.. Есть ли способ вернуть ответ для реагирования на случаи, когда вызов axios не вызывается?
3. Это всегда из браузера, но не браузер управляет запросом React / Axios, поэтому вам нужно обработать его там.