FreeHand

HTTP 헤더 조회 본문

Web/Spring

HTTP 헤더 조회

Jinn 2023. 10. 29. 07:49

다양한 파라미터로 HTTP 헤더 정보를 조회할 수 있다.

@Slf4j
@RestController
public class RequestHeaderController {
    @RequestMapping("/headers")
    public String headers(HttpServletRequest request,
                          HttpServletResponse response,
                          HttpMethod httpMethod,
                          Locale locale,
                          @RequestHeader MultiValueMap<String, String> headerMap,
                          @RequestHeader("host") String host,
                          @CookieValue(value = "myCookie", required = false) String cookie) {
                          
        log.info("request={}", request);
        log.info("response={}", response);
        log.info("httpMethod={}", httpMethod);
        log.info("locale={}", locale);
        log.info("headerMap={}", headerMap);
        log.info("header host={}", host);
        log.info("myCookie={}", cookie);
        
        return "ok";
    }
}
  • @RequestHeader MultiValueMap<String, String> headerMap: 모든 HTTP 헤더를 조회한다.
  • @RequestHeader("host") String host: 특정 HTTP 헤더를 조회한다. (여기선 Host헤더 조회)
  • @CookieValue(value = "myCookie", required = false) String cookie: 특정 쿠키를 조회한다.

MultiValueMap 형식은 하나의 키에 여러 값을 받을 수 있는 Map이다.

?keyA=value1&keyA=value2 이런 요청이 들어왔을 때 사용한다.

MultiValueMap<String, String> map = new LinkedMultiValueMap();
map.add("keyA", "value1");
map.add("keyA", "value2");

List<String> values = map.get("keyA"); // [value1,value2]

 

 

 

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 (inflearn.com)

'Web > Spring' 카테고리의 다른 글

스프링 HTTP 요청 - 메시지 바디(JSON, TEXT)  (0) 2023.11.04
스프링 HTTP 요청 - 쿼리 파라미터  (1) 2023.10.29
스프링 요청 매핑  (1) 2023.10.29
로깅  (1) 2023.10.28
[Spring Boot] 게시판 프로젝트 - 05. 댓글 기능  (0) 2023.10.04