java - Spring Boot 休息: issue with json

标签 java json spring rest spring-boot

我的 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"}) 

stackoverflow link

关于java - Spring Boot 休息: issue with json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54227544/

相关文章:

java - Spring Integration 通过控制总线手动启动/停止 channel 适配器

jquery - 如何打印 json 对象数组

Spring - 整数属性的验证

java - 如何将音频文件(mp3或acc)转换为拆分立体声文件?

java - 图片id '[ami-fd9cecc7]'不存在

c# - 如果反序列化时 json 中不存在,则保留旧值

javascript - 如何从 Angular JS 的列表中删除 $id?

Spring Boot 设置 SSL 连接报错

java - compileOptions 设置为 JavaVersion 1.8 导致 gradle 同步失败

java - 独立应用程序的数据源 - 无应用程序服务器