Как мне ответить значением Ключа в Йесод?

Я пишу REST API для ресурса в Yesod. У меня есть метод POST, который должен попытаться создать данный ресурс и в случае успеха вернуть 201 и идентификатор вновь созданного ресурса. Например,

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, но я не могу найти способ получить это от Key в Database.Persist.Class. Любая помощь будет принята с благодарностью.

РЕДАКТИРОВАТЬ:

Вот определение фактического ресурса:

Notification
    title Text
    content Text
    icon Text Maybe
    action Text Maybe 
    created UTCTime
    updated UTCTime
    deriving Show

1 ответ

Решение

Предполагая, что вы используете SQL-сервер, вы можете использовать fromSqlKey. В более общем случае вы можете использовать toBackendKey.

Другие вопросы по тегам