Я хочу вернуть пользовательский подробный объект (пользовательский объект) в качестве ответа клиенту после проверки подлинности пользователя. Я настроил customSuccessHandler
для этого, но я не уверен, как отправить объект в ответ, не перенаправляя его из метода handle()
.
Изначально я перенаправил его на другой метод, помеченный @RequestMapping("/user")
, но при этом состояние ответа было отправлено как 302 (перенаправление), что неприемлемо для клиентской стороны (угловой интерфейс). Другой вариант - попросить пользовательский интерфейс сделать еще один запрос ("/user"
) и получение необходимых данных, но это приведет к ненужной перегрузке клиента и дополнительному звонку для отдыха. Есть ли лучший способ добиться этого?
мой handle()
метод в CustomSuccessHandler
@Override
protected void handle(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException {
HttpSession session = request.getSession(true);
Users user = getUserDetails(); //this gets the user details
session.setAttribute("user",user);
response.getWriter().append("OK");
response.setStatus(200);
}
Функциональность, которую я пытаюсь реализовать, заключается в успешном входе пользователя в систему, мой внутренний код должен отвечать кодом состояния 200
, а также сведениями о пользователе без каких-либо дополнительных вызовов REST.