私は大学のコース用の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
、すべてのフィールドに対してそれを書き出す必要はありません。削除の処理方法を宣言し、自動インスタンスに他のすべてを処理させたいと思います。
どうすればいいですか?