
有个属性被我们下游系统加了一个@Deprecated注解,计划不久后废弃,然后我们上游系统直接把这个字段搞丢了,排查了半天才发现Protostuff序列化会直接丢掉@Deprecated注解字段。。。
Protostuff 的官方解释:

1 povsister 2024 年 5 月 17 日 protostuff 和 protobuf 是啥关系。 话说设计成这样的框架,开发者真的有写过项目代码吗。 |
2 ob 2024 年 5 月 17 日 via Android @Deprecated 不是应该在注释里面加吗?注解上加被丢弃感觉没毛病。 |
4 w568w 2024 年 5 月 17 日 1. 弃用( Deprecated )和移除( Removed )完全是两码事; 2. 框架内的归框架,这种需求应该框架定义注解,而不是直接套用类似语义(而且实际上不类似)的系统注解。 这开发者水平堪忧,不仅不懂英文、不懂 Java ,也不懂软件设计。 |
5 Sezxy 2024 年 5 月 17 日 via Android java 一般注解 deprecated 是表示后面某个版本可能移除 |
6 querysecret 2024 年 5 月 18 日 要是直接给我移除,我还需要加 @Deprecated?哈哈哈哈 |
7 lrh3321 2024 年 5 月 18 日 没有 @ Tag 注解的情况下,会忽略 @ Deprecated ? 如果是一开始就有的特性,只能怪用的人看文档不仔细了。 |
8 GeminiPro 2024 年 5 月 18 日 一眼看成 protobuf 。。。 |
9 sariya 2024 年 5 月 18 日 同看成 protobuf…… Deprecated 直接移除真的难顶 |
11 mmdsun 2024 年 5 月 18 日 via iPhone private transient 比如用关键字判断。用 @Deprecated 就很奇怪了 |
12 lovelylain 2024 年 5 月 19 日 via Android @querysecret protobuf 是通过标号标记字段,他这个没有标号,如果序列化也是跟 protobuf 一样为了省流不保留 key 名,删字段就不能直接删除而是要加标记。 |