ObjectIdSerializer हमेशा ObjectId के एक नए उदाहरण के लिए @ObjectId के साथ मैप की गई संपत्ति लिखता है। यह गलत है जब आप इस गुण को किसी स्ट्रिंग में मैप करते हैं।
इस व्यवहार से बचने के लिए, मैंने एक NoObjectIdSerializer लिखा है:
public class NoObjectIdSerializer extends JsonSerializer<String> {
@Override
public void serialize(String value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
jgen.writeString(value);
}
}
इस तरह इस्तेमाल किया:
@ObjectId
@JsonSerialize(using = NoObjectIdSerializer.class)
protected final String _id;
एक खुला मुद्दा है।