我有一个Websocketendpoint,我想作为头值接收它,不是字符串,而是对象。
@MessageMapping("/gather/{resource}")
fun emitGatherEvent(@DestinationVariable resource: String, @Header context: Context) {
LOG.debug("gather endpoint called for client ${context.clientId} and character ${context.characterId} with resource '$resource'")
eventDispatcher.dispatchEvent(Gather(resource), context.characterId)
}
org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.lang.String] to type [@org.springframework.messaging.handler.annotation.Header com.barbarus.gameserver.websocket.Context]
你知道怎么做吗?
您可以通过formatterregistry
执行此操作
@Configuration
public class YourConfig implements WebMvcConfigurer{
@Override
public void addFormatters(FormatterRegistry registry) {
registry.addConverter(new YourCustomConverter());
}
}
}
我希望在Jackson中为Enum类的集合创建一个自定义反序列化器。因为自定义反序列化器的行为对于所有枚举都是相同的。我想为我的所有枚举类创建公共反序列化程序。 我尝试使一般自定义反序列化如下: 问题是我想在反序列化器中调用枚举静态方法,但无法这样做,因为我没有任何可用的类/枚举上下文信息。 你能帮我知道如何实现它吗?
想象一下以下场景: 我想为Foo编写一个自定义的Jackson反序列化程序。为了做到这一点(例如,为了反序列化具有Foo的类 如何编写这样的反序列化程序?这应该是可能的,因为Jackson是通过键入集合和地图来实现的。 澄清: 似乎有两个部分可以解决这个问题: 1)获取内声明的属性类型并使用它来反序列化
我试图实现的是在自定义反序列化器中将JsonNode转换为POJO(=反序列化它)。 大多数其他答案建议使用对象映射器,但我在反序列化方法中没有对象映射器。 这是我的自定义反序列化程序: (
嗨下面这个问题 如何在Jackson中为泛型类型创建自定义反序列化器? 我想知道如何通过这个来解析 这就是我目前所拥有的 当我试图反序列化一点这个的时候,我得到了一个NPE
问题内容: 序列化器很少,例如 我们如何创建自己的自定义序列化程序? 问题答案: 在这里,您有一个示例,将自己的序列化器/解串器用于Kafka消息值。对于Kafka消息密钥是同一回事。 我们希望将MyMessage的序列化版本作为Kafka值发送,并再次将其反序列化为使用方的MyMessage对象。 在生产者端序列化MyMessage。 您应该创建一个实现org.apache.kafka.comm
如何创建自己的自定义序列化程序?