http4k provides a simple and uniform way to serve, consume, and test HTTP services.Quick Start
An http4k server is just a regular function that gets invoked with a Request and returns a Response. In a single line of code you can switch your server between Java (built-in), Apache, Jetty, Netty, Undertow, Ktor, or Ratpack.
An http4k client is just a regular function that you invoke with a Request and receives a Response. In a single line of code you can switch your client implementation between Java (built-in), Apache, Jetty, and OkHttp.
The core library has no dependencies and it’s all you need to create fully-functional applications. http4k APIs take advantage of Kotlin features and are powered by Functional Programming techniques.
Supports many Server, Serverless and HTTP Client technologies behind simple, consistent interfaces. http4k provides 50+ pre-built integrations for developers to choose from including Observability, JSON, and OpenAPI support.
Create lightning fast, rock solid test suites for individual endpoints, applications or multi-service systems, all running fully in-memory. http4k embraces advanced testing approaches such as Approval, Chaos and Service Virtualization.
http4k takes advantage of technologies that have millions of hours of production runtime. The toolkit has been used to build high volume applications in Banking, Publishing & Government projects.
The docs are based on real, runnable examples that you can just use to get started.See How-to guides
http4k integrates with many tools and libraries for building Cloud-Native applications.Check it out
http4k partners with selected companies to fund and explore continued innovation around the project. If your company is using http4k and would like to take advantage of this program, please get in touch.
Many of the features of http4k have been added by its amazing contributors. New versions for features and fixes are released quickly and without fuss. http4k had been designed to make it easy to contribute or get help when you need it.Contribute
Sometimes everybody needs a little help. http4k provides several way to seek assistance, both through the community Slack channels and through bespoke support services.
If you're looking for more complete examples http4k applications, look here. There are also a collection of public talks covering various aspects of the toolkit.