@hackage apiary0.12.4

Simple and type safe web framework that can be automatically generate API documentation.

Simple and type safe web framework that can be automatically generate API documentation.

{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE OverloadedStrings #-}

import Web.Apiary
import Network.Wai.Handler.Warp
import qualified Data.ByteString.Lazy.Char8 as L

main :: IO ()
main = run 3000 . runApiary def $ do
  [capture|/:Int|] . ("name" =: pLazyByteString) . stdMethod GET . action $ \age name -> do
      guard (age >= 18)
      contentType "text/html"
      lbs . L.concat $ ["<h1>Hello, ", name, "!</h1>\n"]
$ curl localhost:3000
404 Page Notfound.
$ curl 'localhost:3000/20?name=arice'
<h1>Hello, arice!</h1>
$ curl 'localhost:3000/15?name=bob'
404 Page Notfound.
$ curl -XPOST 'localhost:3000/20?name=arice'
404 Page Notfound.

more examples: https://github.com/philopon/apiary/blob/v0.12.4/examples/