glh*_*lhr 22 serialization spring-mvc jackson
我正在尝试通过实现一个简单的REST API来学习Spring Boot.
我的理解是,如果我需要通过线路传输对象,该对象应该实现Serializable.
在网络上的许多示例中,包括官方示例,需要从服务器传输到客户端的域类(反之亦然)不实现Serializable.
例如:https://spring.io/guides/gs/rest-service/
但在某些情况下,他们会:
例如:https://github.com/szerhusenBC/jwt-spring-security-demo/blob/master/src/main/java/org/zerhusen/security/JwtAuthenticationRequest.java
是否有关于何时实施Serializable的一般经验法则?
Nat*_*hes 16
为了更新这个,关于Serializable的建议已经改变,目前的建议似乎是不要使用Serializable来做任何事情.
使用Java序列化API意味着您需要在线路的另一端使用Java来反序列化对象,因此您必须控制反序列化的代码以及序列化的代码.
这通常与REST应用程序无关,使用应用程序响应是其他人代码的业务,通常在组织外部.在构建REST应用程序时,尽量避免对正在使用它的内容施加限制是正常的,选择一种技术无关且广泛可用的格式.
使对象可序列化的一些原因是:
所以你可以把它放在HttpSession中
所以你可以在分布式应用程序中的层之间传递它
因此,您可以将其保存到文件系统并稍后恢复(例如,您可以使队列的内容可序列化并在应用程序关闭时保存队列内容,在应用程序开始恢复时从保存位置读取在关机时排队到其状态).
在所有这些情况下,您进行序列化以便将某些内容保存到文件系统或通过网络发送.
| 归档时间: |
|
| 查看次数: |
10970 次 |
| 最近记录: |