Reputation: 71
I am using Jersey 1.x Now I am migrating to Jersey 2.x
The problem right now I am facing is the use of Jackson(JSON provider) with Jersey 2.8
Tell me how can I get rid of this problem. I am going to use Jersey 2.8 so what to do for using Jackson with it.
Upvotes: 1
Views: 283
Reputation: 71
Here I find the solution of my question.
The only thing I need to do is to register the Jackson provider and ContextResolver to ObjectMapper..
@Provider
public class UserObjectProvider implements ContextResolver {
final ObjectMapper defaultObjectMapper;
final ObjectMapper combinedObjectMapper;
public UserObjectProvider () {
defaultObjectMapper = createDefaultMapper();
combinedObjectMapper = createCombinedObjectMapper();
}
@Override
public ObjectMapper getContext(Class<?> type) {
if (type == CombinedAnnotationBean.class) {
return combinedObjectMapper;
} else {
return defaultObjectMapper;
}
}
private static ObjectMapper createDefaultMapper() {
final ObjectMapper result = new ObjectMapper();
result.configure(Feature.INDENT_OUTPUT, true);
return result;
}
// ...
}
Now register your Jackson provider.
final Application application = new ResourceConfig().register(UserObjectProvider.class)
.register(JacksonFeature.class);
Thanks
Upvotes: 1