Spring

Controller method parameter types

kmkunk 2021. 11. 12. 16:32

1. HttpServletRequest, HttpServletResponse

- HTTP 프로토콜의 request와 response를 서블릿에게 전달하기 위해 사용한다.

 

2. HttpMethod

- HTTP 메서드를 조회한다.

 

3. Locale

- Locale 정보를 조회한다.

 

4. @RequestHeader

- 모든 헤더 및 특정 헤더를 조회한다.

// 모든 HTTP 헤더 조회
@RequestHeader MultiValueMap<String, String> headerMap

// 특정 HTTP 헤더 조회
@RequestHeader(value="host", required=false, defaultValue="defaultHost") String host

 

4.1 MultiValueMap

- Map과 유사하지만, 하나의 키에 여러 값을 받을 수 있다.

- HTTP header, HTTP 쿼리 파라미터와 같이 하나의 키에 여러 값을 받을 때 사용한다.

// 입력 예시
MultiValueMap<String, String> map = new LinkedMultiValueMap<>();
map.add("keyA", "value1");
map.add("keyA", "value2");

// 출력 예시
List<String> values = map.get("keyA");

 

5. @CookieValue

- 특정 쿠키를 조회한다.

@CookieValue(value="myCookie", required=false, defaultValue="defaultCookie") String cookie

 

참고

- https://springsource.tistory.com/13

- 『스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술』