Spring 4.1 에 등장한 AbstractJsonpResponseBodyAdvice 를 통해서 jsonp 데이타 응답을 만들 때의 한글 처리.

1
2
3
4
5
6
@ControllerAdvice
public class JSONPAdvice extends AbstractJsonpResponseBodyAdvice {
public JSONPAdvice() {
 super("callback");
 }

아무 클래스나 이러한 것을 만들어 두면 메세지 컨버터 작업을 할 때 다음의 advice를 참고해서 JSONP 형태의 응답을 만들어 낼 수 있게 된다.

다만 이 경우 JSONP의 응답 contentType은  application/javascript  로 고정 된다. 따라서 다음과 같이 Override하면 된다.

 

01
02
03
04
05
06
07
08
09
10
11
12
@ControllerAdvice
public class JSONPAdvice extends AbstractJsonpResponseBodyAdvice {
public JSONPAdvice() {
 super("callback");
 }
@Override
 protected MediaType getContentType(MediaType contentType, ServerHttpRequest request, ServerHttpResponse response) {
 return new MediaType("application", "javascript", Charset.forName("UTF-8"));
 }
}

 

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다