User class를 rest로 호출해서 json으로 반환하는데, 다음과 같은 오류가 난다.
user class에는 권한, 부서 등의 관계가 맺어져 있다.
대충 내용을 보아하니 서로 호출해서 문제인거 같은데, 우선적으로는 다음과 같이 풀었다.
2018-05-18 17:16:48.037 WARN 34740 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS); nested exception is com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: kr.drsoft.model.security.Tcm_user["dept"]->kr.drsoft.model.Tcm_dept_$$_jvstef3_2["handler"])
[application.properties]
# lazy relation to json
spring.jackson.serialization.fail-on-empty-beans=false
[dept class]
@JsonIgnore
Dept class에서 user class와 관계를 맺어두었는데, 유저를 호출하니 부서를 부르고, 부서를 호출하니 유저를 불러서 문제인 듯…. 하여 dept의 user에 다음과 같은 애노테이션 부여.
이제 다시 잘 된다. 스프링 처음 접하니 여러모로 볼 게 많다.