Spring BootでHTTPリクエストのヘッダー値を取得する方法


  1. HttpServletRequestを使用する方法:

    import javax.servlet.http.HttpServletRequest;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestHeader;
    import org.springframework.web.bind.annotation.RestController;
    @RestController
    public class MyController {
    @GetMapping("/endpoint")
    public String getHeaderValue(HttpServletRequest request) {
        String headerValue = request.getHeader("headerName");
        return "Header value: " + headerValue;
    }
    }
  2. @RequestHeaderアノテーションを使用する方法:

    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestHeader;
    import org.springframework.web.bind.annotation.RestController;
    @RestController
    public class MyController {
    @GetMapping("/endpoint")
    public String getHeaderValue(@RequestHeader("headerName") String headerValue) {
        return "Header value: " + headerValue;
    }
    }
  3. @RequestHeaderアノテーションを使用して、ヘッダーが存在しない場合のデフォルト値を指定する方法:

    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestHeader;
    import org.springframework.web.bind.annotation.RestController;
    @RestController
    public class MyController {
    @GetMapping("/endpoint")
    public String getHeaderValue(
            @RequestHeader(name = "headerName", defaultValue = "defaultHeaderValue") String headerValue) {
        return "Header value: " + headerValue;
    }
    }

これらの方法を使用することで、Spring BootアプリケーションでHTTPリクエストのヘッダー値を取得することができます。適切な方法を選択し、必要に応じてデフォルト値を指定してください。