KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm developing a REST webservice in spring MVC. I need to change how jackson 2 serialize mongodb objectids. I'm not sure of what to do because I found partial documentation for jackson 2, what I did is to create a custom serializer: public class ObjectIdSerializer extends JsonSerializer<ObjectId> { @Override public void serialize(ObjectId value, JsonGenerator jsonGen, SerializerProvider provider) throws IOException, JsonProcessingException { jsonGen.writeString(value.toString()); } } Create a ObjectMapper public class CustomObjectMapper extends ObjectMapper { public CustomObjectMapper() { SimpleModule module = new SimpleModule("ObjectIdmodule"); module.addSerializer(ObjectId.class, new ObjectIdSerializer()); this.registerModule(module); } } and then register the mapper <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="objectMapper"> <bean class="my.package.CustomObjectMapper"></bean> </property> </bean> </mvc:message-converters> </mvc:annotation-driven> My CustomConverter is never called. I think the CustomObjectMapper definition is wrong,I adapted it from some code for jackson 1.x In my controllers I'm using @ResponseBody. Where am I doing wrong? Thanks
Tags (comma-separated)
Save Edits
Cancel