스프링에서 요청헤더 받기(@RequestHeader Annotation, Spring Framework @MVC) - 스프링실무교유학원
@RequestHeader Annotation은 HTTP 요청 헤더 값을 컨트롤러 메서드의 파라미터로 전달한다(메서드 파라미터가 String가 아니라면 타입변환을 자동으로 적용한다).
만약 헤더가 존재하지 않으면 에러가 발생하며, required 속성을 이용해 필수여부를 설정할 수 있다.
또한 defaultValue 속성을 이용해 기본 값도 설정 가능하다.
아래 예제를 보자.
@Controller
public class HomeController {
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(
@RequestHeader(value="Accept") String accept,
@RequestHeader(value="Accept-Language") String acceptLanguage,
@RequestHeader(value="User-Agent", defaultValue="myBrowser") String userAgent,
@RequestHeader(value="Host") String host
) {
System.out.println("Accept: " + accept);
System.out.println("Accept-Language: " + acceptLanguage);
System.out.println("User-Agent: " + userAgent);
System.out.println("Host: " + host);
return "home";
}
}
[결과]
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36
Host: localhost:8080
댓글 없음:
댓글 쓰기