This is a very minimal example of a project that uses
servant
to specify a REST API,servant-server
to implement a server,hspec
andservant-client
for the test-suite.
To set up the project and run the test-suite, do:
stack setup
stack test --fast
To execute the test-suite faster while developing, do:
chmod go-w .ghci .
stack exec ghci test/Spec.hs
and then at the ghci
prompt do:
:main
to run the tests and
:r
:main
to reload the code (after making changes) and run the tests again.
To run the app, do:
stack exec seaports
Then you can query the server like this:
curl localhost:3000/seaports