Судя по вашим комментариям, просто создайте кастом Serializer
.
Ваш JsonSerializer
. Вы можете иметь их для каждого типа объекта, который вы пытаетесь сериализовать.
public class MyObjectJsonSerializer extends JsonSerializer<MyObject> {
@Override
public Class<MyObject> handledType() {
return MyObject.class;
}
@Override
public void serialize(MyObject myObject, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
jgen.writeStartObject();
jgen.writeNumberField("id", myObject.getId());
// whatever else you need
jgen.writeEndObject();
}
}
Ваш ObjectMapper
.
public class MyObjectMapper extends ObjectMapper {
public MyObjectMapper() {
SimpleModule module = new SimpleModule("My Module", new Version(1, 0, 0, "SNAPSHOT"));
module.addSerializer(new MyObjectJsonSerializer());
this.registerModule(module);
}
}
А потом в вашем spring-config.xml.
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="objectMapper" ref="myObjectMapper" />
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
<bean id="myObjectMapper" class="com.manne.app.objectmapper.MyObjectMapper" />