@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("locale={}",locale);
log.info("headerMap={}",headerMap);
log.info("myCookie={}",cookie);
return "ok";
}
}
일단 컨트롤러에서 저렇게 많은(더 많다. http 관련이면 거의 받을 수 있다) 종류의 인자를 받을 수 있다.
locale은 그 지역 정보,
@RequestHeader 그냥 이렇게 하면 모든 헤더 정보를 받는다. MultiValueMap은 그러니까, 예를 들어 하나의 key에 여러 값이 있을 수 있는데, 저 headerMap.get(key)하면 list를 반환한다.
저렇게 하나만 반환할 수도 있고,
쿠키는 value가 key다. required는 필수인지 아닌지. false라서 필수 아님. 단일값 같은 경우는 저런 required 같은거 물어본 다고 함.
'스프링 > 3. 스프링 MVC' 카테고리의 다른 글
43. ModelAttribute (0) | 2023.08.12 |
---|---|
42. 스프링으로 파라미터 꺼내기 (0) | 2023.08.12 |
40. 요청 종류에 따른 api 구현 (0) | 2023.08.12 |
39. 요청매핑 (0) | 2023.08.11 |
38. 로그 (0) | 2023.08.11 |