DTO 如何在通过网络传输时自动序列化 (java)
How are DTOs serialized automatically while transferring them over the network (java)
我有几个 DTO(在前端),每个 DTO 都实现了 Serializable 接口。
我的问题是,当我通过网络将 DTO 发送到我的另一个远程应用程序(比如后端)时,DTO 如何自动序列化?我的远程应用程序有一个接受该 DTO 的 Web 服务 (jax-rs) 方法。
我知道为了序列化任何对象,我们必须编写一些代码。
但在这种情况下,我没有编写任何代码来在传输时序列化我的 DTO,并在我的远程应用程序接收到它时对其进行反序列化。
我在我的后端项目中使用 spring boot with jax-rs-jersery。
谢谢!
任何一种框架都会有一些转换点。对于 JAX-RS,它的 MessageBodyWriter
. To handle the serialization, the writeTo()
方法被调用
void writeTo(T t,
Class<?> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType,
MultivaluedMap<String,Object> httpHeaders,
OutputStream entityStream)
throws IOException,
WebApplicationException
对象 t
与响应的实体流一起传递给方法。由实现者将此对象转换为字节流。
有很多不同的编写器,选择取决于媒体类型、对象类型以及 isWriteable()
方法中确定的其他可能因素。
中阅读有关实体提供商的更多信息
我有几个 DTO(在前端),每个 DTO 都实现了 Serializable 接口。
我的问题是,当我通过网络将 DTO 发送到我的另一个远程应用程序(比如后端)时,DTO 如何自动序列化?我的远程应用程序有一个接受该 DTO 的 Web 服务 (jax-rs) 方法。
我知道为了序列化任何对象,我们必须编写一些代码。
但在这种情况下,我没有编写任何代码来在传输时序列化我的 DTO,并在我的远程应用程序接收到它时对其进行反序列化。
我在我的后端项目中使用 spring boot with jax-rs-jersery。
谢谢!
任何一种框架都会有一些转换点。对于 JAX-RS,它的 MessageBodyWriter
. To handle the serialization, the writeTo()
方法被调用
void writeTo(T t,
Class<?> type,
Type genericType,
Annotation[] annotations,
MediaType mediaType,
MultivaluedMap<String,Object> httpHeaders,
OutputStream entityStream)
throws IOException,
WebApplicationException
对象 t
与响应的实体流一起传递给方法。由实现者将此对象转换为字节流。
有很多不同的编写器,选择取决于媒体类型、对象类型以及 isWriteable()
方法中确定的其他可能因素。