我想在servant 0.5中构建一个简单的rest api示例:
data MyData = MyData { var1 :: Int, var2 :: String }
app :: Application
app = serve api server
api :: Proxy API
api = Proxy
server :: Server API
server = getItems
getItems :: EitherT ServantErr IO [MyData]
getItems = runEitherT $ do
aa <- nextRandom -- IO
bb <- getCurrentTime -- IO
cc <- getDataFromDb -- IO
--noteT ??? How???
--MaybeT ??? How???
return $ Just [MyData 111 222]
startApp :: IO ()
startApp = run 8080 app
我无法编译它,因为在不同的地方有很多“无法匹配预期类型”的错误。我想这是因为我在“getItems”中混合了 2 个不同的单子。但不仅如此。