gpt4 book ai didi

java - DTO 在通过网络传输时如何自动序列化 (java)

转载 作者:行者123 更新时间:2023-12-02 11:08:23 25 4
gpt4 key购买 nike

我有几个 DTO(在前端),并且每个 DTO 都实现 Serialized 接口(interface)。

我的问题是,当我通过网络将 DTO 发送到另一个远程应用程序(例如后端)时,DTO 如何自动序列化?我的远程应用程序有一个接受该 DTO 的 Web 服务 (jax-rs) 方法。

我知道为了序列化任何对象,我们必须编写一些代码。

但在这种情况下,我没有编写任何代码来在传输时序列化我的 DTO,并在远程应用程序收到它时对其进行反序列化。

我在后端项目中使用 spring boot 和 jax-rs-jersery。

谢谢!

最佳答案

任何类型的框架都会有一些转换点。对于 JAX-RS,它是 MessageBodyWriter 。为了处理序列化,writeTo()方法被调用

void writeTo(T t,
Class<?> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType,
MultivaluedMap<String,Object> httpHeaders,
OutputStream entityStream)
throws IOException,
WebApplicationException

对象t与响应的实体流一起传递给该方法。由实现者决定将此对象从流转换为字节。

有一堆不同的编写器,其中一个的选择取决于媒体类型、对象类型以及isWriteable()中确定的可能的其他因素。方法。

您可以在Jersey docs chapters 8 and 9中阅读有关实体提供商的更多信息。 .

关于java - DTO 在通过网络传输时如何自动序列化 (java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50759520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com