인프런 커뮤니티 질문&답변
HttpHeaders 컨버터
작성
·
342
0
컨트롤러에서 header 값들을 받아서 object로 저장하고 싶습니다.
* Controller.java 의 메소드
convert(@RequestHeader MyHeader myHeader)
* Converter 구현체
implement Converter<HttpHeaders, MyHeader>
로 작성하고해당 converter 구현체를 webConfig에 등록하였는데요.
작동을 하지 않습니다. 혹시 해결 방법이 있을까요?






* Controller.java 의 메소드
convert(@RequestHeader("header1") MyHeader myHeader)
* Converter 구현체
implement Converter<String, MyHeader>
으로 Converter 로 잘 호출되어 source 로 값이 넘어온 것은 확인했습니다.
그런데, 저는 @RequestBody 처럼 여러 개의 헤더 값들을 한 번에 converter 안에서 하나의 Object에 set 하고 싶은데, 이건 converter 로 불가능한 것일까요?
* Controller.java 의 메소드를 아래와 같은 형태로 받고 싶습니다.
convert(@RequestHeader("header1") MyHeader myHeader,
@RequestHeader("header2") MyHeader myHeader) {
System.out.println(myHeader.getHeader1());
System.out.println(myHeader.getHeader2());
테스트를 해보니 아래와 같이 받아서 Controller 단에서 Object로 변환하는 방법밖에 없겠네요.
convert(@RequestHeader HttpHeaders httpHeaders) {
MyHeader myHeader = new MyHeader();
myHeader.setHeader1(httpHeaders.get("header1").get(0));
myHeader.setHeader2(httpHeaders.get("header2").get(0));