Spring BootでAuthorizationヘッダーを取得する方法


  1. HttpServletRequestを使用する方法:
import org.springframework.web.bind.annotation.RequestHeader;
@RestController
public class MyController {
    @GetMapping("/endpoint")
    public String getHeaderValue(@RequestHeader("Authorization") String authorizationHeader) {
        // Authorizationヘッダーの値を取得する
        return authorizationHeader;
    }
}
  1. @RequestHeaderアノテーションを使用する方法:
import org.springframework.web.bind.annotation.RequestHeader;
@RestController
public class MyController {
    @GetMapping("/endpoint")
    public String getHeaderValue(@RequestHeader(value = "Authorization", required = false) String authorizationHeader) {
        // Authorizationヘッダーの値を取得する
        return authorizationHeader;
    }
}
  1. HttpServletRequestを使用して、複数のヘッダーを取得する方法:
import javax.servlet.http.HttpServletRequest;
@RestController
public class MyController {
    @GetMapping("/endpoint")
    public String getHeaders(HttpServletRequest request) {
        // 全てのヘッダーを取得する
        Enumeration<String> headerNames = request.getHeaderNames();
        StringBuilder headers = new StringBuilder();
        while (headerNames.hasMoreElements()) {
            String headerName = headerNames.nextElement();
            String headerValue = request.getHeader(headerName);
            headers.append(headerName).append(": ").append(headerValue).append("\n");
        }
        return headers.toString();
    }
}

これらのメソッドを使用することで、Spring BootアプリケーションでAuthorizationヘッダーの値を取得することができます。適切な方法を選択し、必要に応じてカスタマイズしてください。