HTTP 요청 헤더에는 상당히 많은 정보가 포함되어 있습니다.
애노테이션을 기반으로 요청헤더를 조회하는 방법들에 대하여 학습한 내용을 정리합니다.
개인적인 학습의 정리글입니다.
HTTP 요청 헤더 데이터 조회
HttpMethod: Enum 클래스로 HTTP 요청 메소드를 조회한다.
Locale : 클라이언트의 국가언어정보를 조회한다.
@RequestHeader : 헤더 정보를 조회할때 사용하는 애노테이션이다.
@CookieValue : 쿠키정보를 조회할때 사용하는 애노테이션으로 required, defaultValue 등을 입력할 수 있다.
@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";
}
MultiValueMap사용시 헤더정보이기 때문에 <String, String>으로 입력해야 하며 중복이 허용되지 않는 Map에서
중복된 키값의 데이터를 배열로 저장할 수있다.
Ex) 요청헤더에 gameCode라는 키로 중복 데이터를 전송하면 아래와 같이 배열로 조회가 가능하다.
'SPRING' 카테고리의 다른 글
[SPRING] HTTP 요청 데이터 매핑(단순 텍스트) - 2 (0) | 2022.03.12 |
---|---|
[SPRING] HTTP 요청 데이터 매핑(쿼리 스트링) - 1 (0) | 2022.03.08 |
[SPRING] 애노테이션 기반의 요청 매핑 (0) | 2022.02.16 |
[SPRING] SLF4j을 사용한 로깅방법 (0) | 2022.02.02 |
[SPRING] Logback와 Log4jdbc을 사용한 쿼리 로그 (0) | 2021.11.21 |
댓글