@RequestHeader

Dev.Hammy·2024년 4월 3일
0

[반응형 스택에서 이에 상응하는 내용 보기]

@RequestHeader annotation을 사용하여 요청 헤더를 컨트롤러의 메서드 인수에 바인딩할 수 있습니다. 헤더가 포함된 다음 요청을 고려하세요.

Host                    localhost:8080
Accept                  text/html,application/xhtml+xml,application/xml;q=0.9
Accept-Language         fr,en-gb;q=0.7,en;q=0.3
Accept-Encoding         gzip,deflate
Accept-Charset          ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive              300

다음 예에서는 Accept-EncodingKeep-Alive 헤더의 값을 가져옵니다.

@GetMapping("/demo")
public void handle(
		@RequestHeader("Accept-Encoding") String encoding, // (1)
		@RequestHeader("Keep-Alive") long keepAlive) { // (2)
	//...
}

(1) Accept-Encoding 헤더의 값을 가져옵니다.
(2) Keep-Alive 헤더의 값을 가져옵니다.

대상 메소드 매개변수 유형이 String이 아닌 경우 type conversion이 자동으로 적용됩니다. Type Conversion을 참조하세요.

@RequestHeader annotation이 Map<String, String>, MultiValueMap<String, String> 또는 HttpHeaders 인수에 사용되면 맵이 모든 헤더 값으로 채워집니다.

[Tip]
쉼표로 구분된 문자열을 문자열의 배열이나 컬렉션 또는 유형 변환 시스템에 알려진 다른 유형으로 변환하는 데 기본 지원이 제공됩니다. 예를 들어 @RequestHeader("Accept")로 주석이 달린 메서드 매개 변수는 String 유형일 수 있지만 String[] 또는 List<String>일 수도 있습니다.

0개의 댓글