且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

定制杰克逊序列化的resteasy客户端

更新时间:2022-06-10 22:15:59

您只能注册JAX-RS组件,如提供商功能
你需要注册一个带有ObjectMapper的Provider,它带有一个模块,你的序列化器已注册。

You can only register JAX-RS components like Providers or Features. You need to register an Provider which carries an ObjectMapper which carries an Module with your serializer registered.

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看起来略有不同。

Note that this example is using the classes from org.codehaus.jackson. The API from com.fasterxml.jackson looks slightly different.