mybatis開啓懶加載後,返回bean爲json時,出現以下異常java
10:29:47.016 [http-apr-8088-exec-10] WARN o.s.w.s.m.s.DefaultHandlerExceptionResolver - Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWritableException: Could not write content: No serializer found for class org.apache.ibatis.executor.loader.javassist.JavassistProxyFactory$EnhancedResultObjectProxyImpl and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) )
網上兩種處理意見spring
1 繼承ObjectMapper 設置屬性爲 SerializationFeature.FAIL_ON_EMPTY_BEANS 爲false。 apache
2 在須要轉json的實體類上加 @JsonInclude(JsonInclude.Include.NON_EMPTY)json
第二種方案有一個弊端 ,好比實體類中,存在一個integer爲0 ,則json就不轉化了mybatis
查找發現 對於hibeante有一種處理方式app
@JsonIgnoreProperties(value={「hibernateLazyInitializer」,」handler})hibernate
我認爲 mybatis也應該能夠有相似hibernate的處理方式debug
可是網上沒有找到代理
debug觀察須要處理的bean,發現多了一個屬性code
應該是懶加載時候一個代理
嘗試在轉換時 忽略他@JsonIgnoreProperties(value = {"javassistProxyFactory", "handler"})
搞定