ResponseEnity使用的疑问

蜗牛伊 发布于 09/17 12:04
阅读 90
收藏 0

疑问:

在spring开发中,我们知道ResponseEnity<T> 中可以定义状态码,响应头,以及响应体T,但是T并不需要implements Serializable,依然可以序列化写出去。

如果采用注解@ResponseBody,就必须要求返回结果序列化。

请问ResponseEnity<T>是如何帮我们将T序列化的,或者底层又使用了什么技术实现的?

加载中
0
KevinBlandy
KevinBlandy

Serializable 只是一个标记接口。表示可序列化。这个可序列化指的是是jdk的序列化。把对象序列化为二进制数据,或者把二进制数据反序列化为对象。

spring里面的@ResponseBody 之类的序列化,一般都是序列化为文本数据。Json,xml等等。并不需要实现 Serializable 接口的啊。至于是怎么序列化的,你可以看看 HttpMessageConverter 。

蜗牛伊
蜗牛伊
明白了,谢谢
0
ACANX
ACANX
Serializable是JDK中定义的序列化接口,序列化后输出的结果可以等同于使用toString()方法,你可以选择用或者不用,不是强制要求。如何序列化要看其具体的实现。ResponseEntity中使用的是HttpMessageConvert进行序列化,返回的结果通常是JSON格式的
蜗牛伊
蜗牛伊
多谢指点
返回顶部
顶部