Как мне ответить значением Ключа в Йесод?
Я пишу 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.