我在Yesod中为资源编写REST API。我有一个POST方法应该尝试创建给定的资源,如果成功返回201和新创建的资源的ID。如,
postResourceR :: Handler String
postResourceR = do
id <- runDB $ insert Resource
sendResponseStatus status201 id -- DOES NOT COMPILE
这是我得到的错误,这很明显:
No instance for (ToTypedContent (Key Resource))
arising from use of 'sendResponseStatus'
我知道我需要ToTypedContent
的某些内容,但我找不到任何方法可以从Database.Persist.Class中的Key
获取该内容。任何帮助将不胜感激。
编辑:
以下是实际资源的定义:
Notification
title Text
content Text
icon Text Maybe
action Text Maybe
created UTCTime
updated UTCTime
deriving Show