minion-openapi3: Minion openapi3 support

[ library, mit, web ] [ Propose Tags ] [ Report a vulnerability ]

Modules

[Last Documentation]

  • Web
    • Minion
      • Web.Minion.OpenApi3

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.0.1
Dependencies aeson, base (>=4.16 && <5), blaze-html, blaze-markup, bytestring, case-insensitive, directory, file-embed-lzma, filepath, http-api-data, http-types, insert-ordered-containers, lens, minion, minion-wai-extra, openapi3, template-haskell, text [details]
License MIT
Author Danil Berestov
Maintainer goosedb@yandex.ru
Category Web
Uploaded by goosedb at 2024-09-29T01:55:50Z
Distributions
Downloads 42 total (3 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2024-09-29 [all 2 reports]

Readme for minion-openapi3-0.1.0.0

[back to package description]

Minion

Minion is Haskell library for developing web applications. It stands between Scotty and Servant

Scotty Minion Servant
As simple as ABC Yes No No
At term level Yes Yes No
Typesafe No Yes Yes
Introspectable No Yes Yes
Generated client No No Yes

Since Minion defines servers at the term level, it's easier to start and without excess verbosity.

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE OverloadedLists #-}
module Main where

import Web.Minion
import Network.Wai.Handler.Warp qualified as Warp

main :: IO ()
main = Warp.run 9001 app

app :: ApplicationM IO
app = serve api 

api :: Router Void IO
api = "api" /> 
    [ "about" /> handlePlainText @String GET (pure "Hello-World Minion server")
    , "hello" /> capture @String "name" 
              .> handlePlainText @String GET (\name -> pure $ "Hello, " <> name <> "!")
    ]

Documentation and examples can be found on Hackage

Minion ecosystem also contains following libraries: