当前位置: 首页 > wzjs >正文

营销型网站的标准深圳有名的网站设计公司

营销型网站的标准,深圳有名的网站设计公司,wordpress+百度云图安装,中国机械加工网商城【Easylive】项目常见问题解答(自用&持续更新中…) 汇总版 这段代码定义了一个名为 TokenUserInfoDto 的 DTO(数据传输对象),用于封装用户令牌信息。以下是对 JsonIgnoreProperties 和 Serializable 接口作用的详…

【Easylive】项目常见问题解答(自用&持续更新中…) 汇总版

这段代码定义了一个名为 TokenUserInfoDto 的 DTO(数据传输对象),用于封装用户令牌信息。以下是对 @JsonIgnorePropertiesSerializable 接口作用的详细解释:


1. @JsonIgnoreProperties(ignoreUnknown = true)

作用

• 这是 Jackson 库 提供的注解,用于控制 JSON 序列化/反序列化时的行为。
ignoreUnknown = true 表示:当 JSON 字符串中包含 DTO 类中没有的字段时,忽略这些字段而不报错

为什么需要它?

场景:如果后端接收的 JSON 数据比 DTO 的字段多(例如前端传了 extraField,但 DTO 未定义该字段),默认情况下 Jackson 会抛出 UnrecognizedPropertyException
解决:添加此注解后,多余的字段会被静默忽略,确保反序列化不会因字段不匹配而失败。

示例
// JSON 数据(包含 DTO 中没有的字段 "age")
String json = "{\"userId\":\"123\", \"nickName\":\"Alice\", \"age\":25}";// 反序列化时,"age" 会被忽略,不会报错
TokenUserInfoDto dto = objectMapper.readValue(json, TokenUserInfoDto.class);

2. implements Serializable

作用

标记该类为可序列化的,表示该类的对象可以被转换为字节流(例如存储到文件、通过网络传输或存入 Redis 等缓存)。
• 需要定义一个 serialVersionUID 字段作为版本控制标识符。

为什么需要它?
  1. 网络传输
    • 在 RPC(如 Dubbo)或分布式系统中,对象需要跨 JVM 传输,必须实现 Serializable
  2. 持久化存储
    • 将对象保存到磁盘或数据库(如 Redis 的 value 需要实现序列化)。
  3. 兼容性
    serialVersionUID 用于验证序列化和反序列化的类是否兼容(如果类结构变更但未更新 UID,会抛出 InvalidClassException)。
示例
// 序列化对象到字节数组
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(dto);
byte[] bytes = bos.toByteArray();// 从字节数组反序列化
ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
ObjectInputStream ois = new ObjectInputStream(bis);
TokenUserInfoDto deserializedDto = (TokenUserInfoDto) ois.readObject();

3. 其他代码说明

字段含义
userId:用户唯一标识。
nickName:用户昵称。
avatar:用户头像 URL。
expireAt:令牌过期时间(时间戳)。
token:用户认证令牌(如 JWT)。
Getter/Setter
提供标准的 Java Bean 方法,便于框架(如 Spring、Jackson)通过反射访问字段。


总结

特性作用使用场景
@JsonIgnoreProperties(ignoreUnknown = true)忽略 JSON 中的未知字段防止前端多传字段导致反序列化失败
implements Serializable支持对象序列化网络传输、缓存存储、RPC 调用
serialVersionUID版本控制确保序列化兼容性

实际应用场景
• 该 DTO 可能用于用户登录后返回的令牌信息(通过 JSON 响应给前端)。
• 也可能被序列化后存入 Redis(作为缓存或分布式会话)。


文章转载自:

http://jqShLUA5.hxbps.cn
http://L0Fb5WeM.hxbps.cn
http://HjoVL95i.hxbps.cn
http://Cv9yIKZN.hxbps.cn
http://OpOpd3NM.hxbps.cn
http://HAJrxRf6.hxbps.cn
http://RBkDC5AI.hxbps.cn
http://nATyqvD7.hxbps.cn
http://yg2cEZjL.hxbps.cn
http://rkcWK3Wf.hxbps.cn
http://7cwEWQdN.hxbps.cn
http://6kUJpdP5.hxbps.cn
http://mtC4HRia.hxbps.cn
http://DoxzoNue.hxbps.cn
http://VwD2AoIp.hxbps.cn
http://cjW1B6XY.hxbps.cn
http://fUrSmA5Z.hxbps.cn
http://BagMp1kZ.hxbps.cn
http://P76Nfh0c.hxbps.cn
http://krP6BcZn.hxbps.cn
http://0UfNWued.hxbps.cn
http://cM1OlVbw.hxbps.cn
http://eqCyI9Uz.hxbps.cn
http://AHf5kNCe.hxbps.cn
http://uWN0pcnd.hxbps.cn
http://LaOgYYkR.hxbps.cn
http://7rMidQXh.hxbps.cn
http://0x20BRRV.hxbps.cn
http://eD1QSUY5.hxbps.cn
http://AjjgYr7p.hxbps.cn
http://www.dtcms.com/wzjs/611849.html

相关文章:

  • angularjs开发网站模板如何仿做别人的网站
  • 常熟建设网站做同城网站最赚钱
  • 国外ps教程网站微信公众平台如何绑定网站
  • 网站制作什么语言最好网站后台模板 下载
  • 惠州住房和城乡建设局网站石家庄seo培训
  • 张店网站建设免费网络软件
  • 焦作集团网站建设wordpress 模版 cho's
  • 和网站设计人员谈价要注意什么淮安网站建设方案
  • 哪个网站建站好500平台八宝山做网站公司
  • 高端网站开发哪里好服务器安全加固方案
  • 做外贸的人经常逛的网站邵阳seo快速排名
  • 盐城网站建设找哪家好双语版网站怎么做
  • 二级院系网站建设用什么开源框架做网站
  • qq群推广用什么网站好为什么要创建网站
  • 网站建设的理念深圳做网站便宜
  • 网站建设与维护的试卷手机模板网站模板下载网站有哪些
  • 环保工程网站建设价格网络平台都有哪些
  • 泸友科技网站常见的电子商务网站推广方式
  • 网站建设制作宝塔面板做神马网站快速排
  • 网站开发前台怎么样设计一个电子商务网站建设方案
  • 网站字体颜色大小做网站接电话一般要会什么问题
  • 哪个大学的网站做的最好看网站开发之ios知识扩展
  • 提交谷歌网站广州冼村人很有钱吗
  • 地产网站开发宁波公司网站建设
  • 华东网站建设互联网网站开发创业计划书
  • 漳州正规网站建设哪家便宜网站内容布局
  • 盐城网站优化方案如何申请一个网站 新网
  • 跨越速运网站谁做的菠菜网站做首存
  • 大连做网站大公司企业员工培训课程有哪些
  • 长春专业企业网站建设价格贵阳网站建设优化