[Spring] spring-boot 2.1(SpringFramework 5.1)에서 없어진 기능, JSONP 간단하게 구현하기
안녕하세요, 하마연구소입니다. SpringFramework에서 JSONP 처리를 기본 기능으로 제공하였지만, 스프링부트 2.1(스프링프레임워크 5.1)부터 없어졌습니다. 이미 Deprecated 처리되어 언제가는 없어질 것을 예상했지만, 담당하고 있는 시스템에서는 아직 JSONP가 필요한 상황입니다. 없어진 AbstractJsonpResponseBodyAdvice.java 소스 https://github.com/spring- projects /spring-framework/blob/5.0.x/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/AbstractJsonpResponseBodyAdvice.java Spring에서는 기본 기능으로 빠졌어도 3rd 파트 라이브러리가 있겠지 싶어 폭풍검색을 했지만 찾을 수 없었습니다. 그래서 그냥 직접 구현하려고 하였지만, 은근히 스프링 코어쪽 소스를 이곳저곳 건드려야하는 복잡함을 느꼈습니다. 그래서 최소한의 소스로 최대한 직관적으로 JSONP를 처리할 수 있도록 구현했습니다. JsonpAdvice.java ControllerAdvice로 request 파라미터에 jsonp 또는 callback이 있으면 JSONP로 처리하기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 import org.apache.commons.lang3.StringUtils ; import org.springframework.core.MethodParameter ; import org.springframework.http.MediaType ; import org.springframework.http...