我的 Spring Boot Rest 应用程序有一个具有以下方法的 Controller 。它内部使用 hibernate 从 Oracle DB 获取数据。我的问题是,当我调用此服务时,它返回 HTTP ERROR 500。但是没有任何地方记录任何错误,并且以下代码中的调试日志打印整个 Job 对象,没有任何问题。我调试并看到作业对象也返回了。
我怀疑在将作业对象转换为 json 时某些数据导致了问题,但是如何找到哪个字段导致了问题?
有没有办法记录 json 转换期间发生的问题?
@GetMapping(params = {"jobId"})
@ResponseBody
public Job findById(long jobId) {
Job job = jobHistoryService.findById(jobId);
log.debug(job.toString());
return job;
}
最佳答案
我按照评论中的建议并将 applicaion.yml
中的日志级别设置为 info
并打印出了错误。打印出来的错误是这样的。
com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor
搜索了堆栈溢出并找到了将以下内容添加到实体的解决方案,它的效果非常好。谢谢大家!
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
关于java - Spring Boot 休息: issue with json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54227544/