Я делаю REST API для университетских курсов:
data Course = Course {
id :: Maybe Text,
name :: Text,
deleted :: Bool
} deriving(Show, Generic)
instance FromJSON Course
instance ToJSON Course
Я хотел бы разрешить deleted
быть необязательным в сериализованной структуре JSON, но не в моем приложении. Я хочу установить deleted
в False
, если это не указано при разборе.
Я мог бы написать экземпляр вручную для FromJSON
, но я не хочу писать его для всех полей. Я хочу объявить, как обрабатывается удаление, и позволить автоматическому экземпляру обрабатывать все остальное.
Как бы я это сделал?