창고/버그버그 👀

nested exception is java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList

프론트쪽에서 ajax로 contoller쪽에 요청 시 json형태로 리턴해줄때(ResponseBody)사용 시 

 

spring - 트러블 슈팅 - Controller에서 객체 반환 시 json으로 변환이 되지 않는 경우

 

nested exception is java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList 

 

위와 같은 에러가 발생한다.

 

 

해결방법으로는 

 

0. 객체를 json형태로 변환 할 수 있는 jackson 라이브러리 다운로드 (jackson-databind)

<dependency>
    <groupId>cohttp://m.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.9.4</version>
</dependency>
<dependency>
    <groupId>cohttp://m.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.4</version>
    <scope>compile</scope>
</dependency>

 

1. Mvc : message-converter에 MappingJackson2HttpMessageConverter 추가

(/webapp/WEB-INF/config/egovframework/springmvc/dispatcher-servlet.xml)

    <mvc:annotation-driven>
    	<mvc:message-converters>
    		<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />
    	</mvc:message-converters>
    </mvc:annotation-driven>