lite demo
This commit is contained in:
parent
2c8b9c32c9
commit
2254b3403d
21
demo/lite/lite.hs
Normal file
21
demo/lite/lite.hs
Normal file
@ -0,0 +1,21 @@
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
import Yesod.Core
|
||||
import Data.Aeson
|
||||
import Data.Monoid ((<>))
|
||||
import Data.Text (Text, pack)
|
||||
|
||||
people :: [(Text, Int)]
|
||||
people = [("Alice", 25), ("Bob", 43), ("Charlie", 37)]
|
||||
|
||||
main = warp 3000 $
|
||||
onStatic "people" (dispatchTo getPeople) <>
|
||||
onStatic "person" (withDynamic $ dispatchTo . getPerson)
|
||||
|
||||
getPeople = return $ toJSON $ map fst people
|
||||
|
||||
getPerson name =
|
||||
case lookup name people of
|
||||
Nothing -> notFound
|
||||
Just age -> selectRep $ do
|
||||
provideRep $ return $ object ["name" .= name, "age" .= age]
|
||||
provideRep $ return $ name <> " is " <> pack (show age) <> " years old"
|
||||
Loading…
Reference in New Issue
Block a user