当前位置: 首页 > 知识库问答 >
问题:

无法写入HTTP消息:org.SpringFramework.HTTP.Converter.HttpMessageNotWritableException:

蓝鸿哲
2023-03-14

我是Spring MVC框架的新手。我试图在我的Spring项目中使用Hibernate返回object来检索用户详细信息。我得到以下错误:

警告:org.springframework.web.servlet.mvc.support.defaultHandlerExceptionResolver-无法写入HTTP消息:org.springframework.HTTP.converter.httpmessagenotwritableException:无法写入内容:未找到类org.hibernate.proxy.pojo.javassist.javassistlazyInitializer的序列化程序,也未发现创建BeanSerializer的属性(为避免出现异常,请禁用SerializationFeature.fail_on_empty_beans))(通过引用链s.mschef.model.user_$$_JVSTB3_6[“处理程序”])

有人能告诉这个错误的解决方法吗??

共有1个答案

公羊灿
2023-03-14
This works for me : 
http://www.geekabyte.io/2013/09/fixing-converterhttpmessagenotwritablee.html


The fix is to get Jackson to be able to handle bi-directional references. And this is done by using two Annotations: @JsonManagedReference and @JsonBackReference.

@JsonManagedReference is used to annotate the inverse side while @JsonBackReference maps the owning side of the relationship.

Example :
@Entity
class Parent {

     @Id
     @Column(name="parent_id")
     @GeneratedValue(strategy = GenerationType.AUTO)
     private Long id;

     private String name;
     private Parent wife;

     @OneToMany(mappedBy="parent" cascade = CascadeType.ALL)
     @JsonManagedReference
     private Collection<Child> children = new ArrayList<>();
...
}


@Entity
class Child {
    private String name;

    @ManyToOne
    @JoinColumn(name="parent_id", referencedColumn="parent_id")
    @JsonBackReference
    private Parent parent;
...
}
 类似资料:
  • 主要内容:1xx: 信息,2xx: 成功,3xx: 重定向,4xx: 客户端错误,5xx: 服务器错误当浏览器从 web 服务器请求服务时,可能会发生错误。 以下列举了有可能会返回的一系列 HTTP 状态消息: 1xx: 信息 消息: 描述: 100 Continue 服务器仅接收到部分请求,如果服务器没有拒绝该请求,客户端应该继续发送其余的请求。 101 Switching Protocols 服务器转换协议:服务器将遵从客户的请求转换到另外一种协议。 103 Checkpoint 用于 PU

  • 主要内容:1 消息行,2 消息头,3 消息主体HTTP基于客户端-服务器体系结构模型和无状态请求/响应协议,该协议通过在可靠的TCP/IP连接之间交换消息进行操作。 HTTP“客户端”是一种程序(Web浏览器或任何其他客户端),该程序建立与服务器的连接以发送一个或多个HTTP请求消息。HTTP“服务器”是程序(通常是Web服务器,例如Apache Web Server或Internet Information Services IIS等),它

  • 我在ActiveMQ中使用异步消息使用者。我的制作人工作正常,向队列发送消息。现在,我的异步消息消费者正在等待调用onMessage(),但这从未发生过。因此,问题是: 异步使用者不会使用消息 ActiveMQ日志的快照还显示了许多刚刚堆积在挂起状态中的消息: 我想不出问题到底出在哪里。 计数: toPageIn 78 只是不断增加,信息仍然无法传递给消费者。 是服务器端问题还是客户端问题?

  • 我试图按照文档从Azure函数(https://docs.microsoft.com/en-us/Azure/azure-functions/functions-bindings-service-bus-output?tabs=csharp)向Azure服务总线队列写入消息。 我从HTTP触发器的“file->new project”开始,并添加了绑定: 我的host.json和local.set

  • 问题内容: 我一直在尝试制作Angular2的快速入门指南。我按照快速指南中的说明进行了操作。但是,当我运行它时,它显示以下消息“无法获取”。有人知道为什么会这样吗? boot.js文件 app.component.js文件 索引文件 最后,package.json文件 我运行“ npm start”行,该行打开浏览器并显示“无法获取” 问题答案: 我弄清楚了问题所在。我的html文件中有多余的空

  • HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。 一个HTTP"客户端"是一个应用程序(Web浏览器或其他任何客户端),通过连接到服务器达到向服务器发送一个或多个HTTP的请求的目的。 一个HTTP"服务器"同样也是一个应用程序(通常是一个Web服务,如Apache Web服务器或IIS服务器等),通过接收客户端的请求并向客户端发送HT