java - resteasy 客户端的自定义 Jackson 序列化程序

标签 java jakarta-ee jax-rs resteasy

是否可以为 resteasy 客户端注册一个自定义的 Jackson JSON 序列化程序?

我试过做类似的事情:

ResteasyClient client = new ResteasyClientBuilder()
            .register(new CustomSerializer())
            .build();

但是没有用。有什么想法吗?

最佳答案

您只能注册 JAX-RS 组件,例如 ProvidersFeatures . 您需要注册一个带有 ObjectMapper 的 Provider,该 ObjectMapper 带有一个已注册序列化程序的 Module。

ResteasyJacksonProvider resteasyJacksonProvider = new ResteasyJacksonProvider();
ObjectMapper mapper = new ObjectMapper();
SimpleModule myModule = new SimpleModule("myModule", new Version(1, 0, 0, null));
myModule.addSerializer(Custom.class, new CustomSerializer());
mapper.registerModule(myModule);
resteasyJacksonProvider.setMapper(mapper);
ResteasyClient client = new ResteasyClientBuilder().register(resteasyJacksonProvider).build();

请注意,此示例使用的是 org.codehaus.jackson 中的类。来自 com.fasterxml.jackson 的 API 看起来略有不同。

关于java - resteasy 客户端的自定义 Jackson 序列化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29012686/

相关文章:

java - 如何在 Jasper 中找出 String[] 的大小

Java 全局标识符

java - cookie.setMaxAge 奇怪的行为

java - RESTFul 服务器中的多态性

java - 默认 SSL 上下文初始化失败 : null

java - 在 Java 中 : Take snapshot of a directory and restore it

java - UTF-8 与 JPA 和 Glassfish 4.0

java - 将参数从 JSP 页面传递给 java 方法以持久保存到数据库

java - 链接相当于 Jersey 的@InjectLink

java - 如何在java中将哈希集添加到javax.ws.rs.core.Response