我的spring boot rest应用程序具有使用以下方法的控制器。它在内部使用休眠模式从Oracle DB获取数据。我的问题是,当我调用此服务时,它将返回HTTP ERROR500。但是在任何地方都没有记录任何错误,并且以下代码中的调试日志可以打印整个Job对象,而没有任何问题。我调试并看到作业对象也正在返回。
我怀疑在将作业对象转换为json时某些数据会引起问题,但是如何找到哪个字段引起了问题?
是否可以记录json转换期间发生的问题?
@GetMapping(params = {"jobId"})
@ResponseBody
public Job findById(long jobId) {
Job job = jobHistoryService.findById(jobId);
log.debug(job.toString());
return job;
}
答案 0 :(得分:1)
我遵循了注释中的建议,并将applicaion.yml
中的日志级别设置为info
,它打印出了错误。打印出来的错误就是这个。
com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor
搜索堆栈溢出,找到了将以下内容添加到实体的解决方案,它就像一种魅力一样工作。谢谢大家!
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})