无锁异步化、事件驱动架构设计的 java netty 网络编程框架; 轻量级,无需依赖任何第三方中间件或数据库就能支持集群、分布式; 适用于网络游戏服务器、物联网、内部系统及各种需要长连接的场景; 通过 ioGame 你可以很容易的搭建出一个集群无中心节点、集群自动化、分布式的网络服务器;FXGL、Unity、UE、Cocos Creator、Godot、Netty、Protobuf、webSocket、tcp、socket;java Netty 游戏服务器框架; Java Netty Game Server.
GNU Affero General Public License v3.0
918
stars
205
forks
source link
使用JsonDataCodec反序列时内嵌泛型转换错误且无法触发内嵌泛型对象的jsr380校验 #402
Closed
sakimonk closed 5 days ago
你的问题
如图,图一我设置了自定义gson编解码(注:默认JsonDataCodec解码器存在同样问题),action参数使用了泛型,预期入参类型是Request(图二),Request类中存在data字段是泛型(图四),但是实际测试发现data字段没有按照预期转换成强类型而是转换成了LinkedTreeMap,也没有触发data内嵌泛型的jsr380校验(图三),猜测是因为反序列化时传参使用了Class丢失了泛型信息,可以参考springmvc实现使用java.lang.reflect.Type或者ResolvableType进行反序列化
预期值
json反序列化类型正确且触发内嵌对象的jsr380校验
实际值
类型转换不正确,未触发内嵌对象的jsr380校验
复现步骤
编解码使用JsonDataCodec,方法参数使用内嵌泛型传参
版本