컨트롤러에 두 가지 매핑 방법이 있습니다. 하나는 다른 것으로 리디렉션 중입니다. 리디렉션하기 전에 응답으로 헤더를 설정하고 있습니다. 하지만 null로 요청 헤더를 받고. 다음은 컨트롤러의 메소드입니다. 둘 다 같은 컨트롤러에 있습니다.요청 헤더가 봄 MVC에서 null로 표시됩니다.
@RequestMapping(value="/testStart", method=RequestMethod.POST)
public String testStart(HttpServletRequest request, HttpServletResponse response){
String token = "126712810-1289291":
response.addHeader("authToken", token);
return "redirect:/test";
}
@RequestMapping(value="/test", method={ RequestMethod.POST, RequestMethod.GET })
public String getTestPage(Model model, HttpServletRequest request, HttpServletResponse response){
String token = request.getHeader("authToken");
System.out.println(token); //prints null
model.addAttribute("Testtoken", token);
System.out.println("Test page about to load ..");
return "test";
}
이 API를 테스트하기 위해 우편 클라이언트를 사용하고 있습니다. 그것은 URL을 때리고 다른 URL로 리디렉션하고 있습니다. 그러나 헤더는 널입니다. 나는 무엇이 잘못되었는지를 모른다. 어느 누구도 이것을 알아낼 수 있습니까? 감사합니다
헤더는 여전히 널 점점 얻을 수 있습니다. – sparrow
응답 개체에 authToken을 추가하고 요청 개체에서 가져 오려고합니다. 당신은 응답 객체로부터 authToken을 얻거나 요청 객체에 그것을 추가 할 필요가있다. –
@sparrow btw이 데이터 전달 문제에 대해 setAttribute/getAttribute를 사용할 수있다. 더 나은 방법이 될 것이다. –