私のコントローラに2つのマッピング方法があります。 1つは他にリダイレクトしています。 リダイレクトする前に、私は応答としてヘッダーを設定しています。しかし、私はnullとして要求ヘッダーを取得します。 これは私のコントローラのメソッドです。両方が同じコントローラにあります。リクエストヘッダが春のMVCでヌルになっています
@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をテストするためにpostmanクライアントを使用しています。それは、URLを打つと、他のURLにリダイレクトしています。ヘッダーはnullです。 何が問題なのか分かりません。私はこれを理解する手助けをすることができますか?ありがとう
ヘッダを取得
header
に追加したい場合あなたはまだrequest.setAttribute
とrequest.getAttribute
で行くことができます。 – sparrow
あなたは応答オブジェクトにauthTokenを追加し、それを要求オブジェクトから取得しようとしています。あなたは応答オブジェクトからauthTokenを取得するか、リクエストオブジェクトに追加する必要があります。 –
@sparrow btwこのデータ転送の問題では、setAttribute/getAttributeを使用すると、より良い方法になります –