Yesod 1.2의 새로운 selectRep
함수를 사용하려고하지만 json 응답이 작동하는 데 문제가 있습니다.영구 엔터티 용 ToJSON 인스턴스 생성
instance ToJSON (Entity Feed) where
toJSON (Entity uid (Feed url lastUpdated)) = object
[ "id" .= uid
, "url" .= url
, "lastUpdated" .= lastUpdated
]
getFeedByIdR :: FeedId -> Handler TypedContent
getFeedByIdR feedId = do
feed <- runDB $ get404 feedId
selectRep $ do
provideRep $ return $ toJSON (Entity feedId feed)
나는 위의 코드에서 얻을 오류 지속적인 실제로 ToJSON (Entity e)
here에 대한 인스턴스를 제공합니까 것으로 보인다
Handler/Feed.hs:23:31:
Overlapping instances for ToJSON (Entity Feed)
arising from a use of `toJSON'
Matching instances:
instance ToJSON e => ToJSON (Entity e)
-- Defined in `persistent-1.2.0.1:Database.Persist.Class.PersistEntity'
instance ToJSON (Entity Feed) -- Defined at Handler/Feed.hs:5:10
In the second argument of `($)', namely
`toJSON (Entity feedId feed)'
In the second argument of `($)', namely
`return $ toJSON (Entity feedId feed)'
In a stmt of a 'do' block:
provideRep $ return $ toJSON (Entity feedId feed)
,하지만 난 내 ToJSON (Entity Feed)
어떻게 든 사용할 수 있습니까?