chapter seventeen

17   HTTP API with http4s

After reading this lesson, you will be able to:

  • Run an HTTP server using SBT
  • Implement an API to handle GET requests

After learning about partial functions, you are now going to use them as part of your implementation of an HTTP server. Building an HTTP server without the help of an external library would require lots of extra time and code: thankfully, the Scala ecosystem offers a few external libraries to help you handle HTTP communication in an efficient and performant way. In this lesson, I’ll introduce you to http4s, a popular library to manage HTTP requests and responses. You’ll discover how to implement an HTTP server that replies to a GET “/ping” request with a response with status code “200 – Ok” and text “pong”. Finally, you’ll see how to run it using SBT. In the capstone, you’ll use http4s to create an HTTP server and define its API.

17.1   An overview of http4s

17.2   A Ping Server using http4s

17.3   Summary

17.4   Answers to Quick Checks