I would guess it’s because data classes don’t generate a default, empty constructor. ie. there’s no constructor
Todo()
. There’s probably a way to make Jackson deserialize an object using the full constructor, but I don’t know enough about the the library to guess what that is.