스프링/3. 스프링 MVC

41. 요청 파라미터 종류

sdafdq 2023. 8. 12. 17:07
@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