servant-docs 0.2 → 0.2.1
raw patch · 3 files changed
+6/−59 lines, 3 filesdep ~servant
Dependency ranges changed: servant
Files
- example/greet.hs +2/−1
- servant-docs.cabal +3/−57
- src/Servant/Docs.hs +1/−1
example/greet.hs view
@@ -4,9 +4,10 @@ {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE OverloadedStrings #-} import Data.Aeson+import Data.Proxy import Data.Text import GHC.Generics-import Servant+import Servant.API import Servant.Docs -- * Example
servant-docs.cabal view
@@ -1,64 +1,10 @@ name: servant-docs-version: 0.2+version: 0.2.1 synopsis: generate API docs for your servant webservice description: Library for generating API docs from a servant API definition. .- Runnable example below that prints API docs in markdown.- .- > {-# LANGUAGE DataKinds #-}- > {-# LANGUAGE PolyKinds #-}- > {-# LANGUAGE TypeFamilies #-}- > {-# LANGUAGE DeriveGeneric #-}- > {-# LANGUAGE TypeOperators #-}- > {-# LANGUAGE FlexibleInstances #-}- > {-# LANGUAGE OverloadedStrings #-}- >- > import Data.Proxy- > import Data.Text- > import Servant- >- > -- our type for a Greeting message- > data Greet = Greet { _msg :: Text }- > deriving (Generic, Show)- >- > -- we get our JSON serialization for free- > instance FromJSON Greet- > instance ToJSON Greet- >- > -- we provide a sample value for the 'Greet' type- > instance ToSample Greet where- > toSample = Just g- >- > where g = Greet "Hello, haskeller!"- >- > instance ToParam (QueryParam "capital" Bool) where- > toParam _ =- > DocQueryParam "capital"- > ["true", "false"]- > "Get the greeting message in uppercase (true) or not (false). Default is false."- >- > instance ToCapture (Capture "name" Text) where- > toCapture _ = DocCapture "name" "name of the person to greet"- >- > instance ToCapture (Capture "greetid" Text) where- > toCapture _ = DocCapture "greetid" "identifier of the greet msg to remove"- >- > -- API specification- > type TestApi =- > "hello" :> Capture "name" Text :> QueryParam "capital" Bool :> Get Greet- > :<|> "greet" :> RQBody Greet :> Post Greet- > :<|> "delete" :> Capture "greetid" Text :> Delete- >- > testApi :: Proxy TestApi- > testApi = Proxy- >- > -- Generate the Documentation's ADT- > greetDocs :: API- > greetDocs = docs testApi- >- > main :: IO ()- > main = putStrLn $ markdown greetDocs+ Runnable example <https://github.com/haskell-servant/servant-docs/blob/master/example/greet.hs here>. license: BSD3 license-file: LICENSE author: Alp Mestanogullari, Sönke Hahn, Julian K. Arni@@ -83,7 +29,7 @@ , bytestring , hashable , lens- , servant >= 0.2+ , servant >= 0.2.1 , string-conversions , system-filepath , text
src/Servant/Docs.hs view
@@ -119,7 +119,7 @@ import Data.String.Conversions import GHC.Generics import GHC.TypeLits-import Servant+import Servant.API import qualified Data.HashMap.Strict as HM