khajavi/zio-http · 文件
文件最后提交记录最后更新时间
README.md
ZIO Http
ZIO HTTP is a scala library for building http apps. It is powered by ZIO and Netty and aims at being the defacto solution for writing, highly scalable and performant web applications using idiomatic Scala.
Installation
Setup via build.sbt:
libraryDependencies += "dev.zio" %% "zio-http" % "3.0.0-RC4"
NOTES ON VERSIONING:
- Older library versions
1.xor2.xwith organizationio.d11of ZIO Http are derived from Dream11, the organization that donated ZIO Http to the ZIO organization in 2022. - Newer library versions, starting in 2023 and resulting from the ZIO organization (
dev.zio) started with0.0.x, reaching1.0.0release candidates in April of 2023
Getting Started
A simple Http server can be built using a few lines of code.
import zio._
import zio.http._
object HelloWorld extends ZIOAppDefault {
val app: HttpApp[Any] =
Routes(
Method.GET / "text" -> handler(Response.text("Hello World!"))
).toHttpApp
override val run =
Server.serve(app).provide(Server.default)
}
Steps to run an example
- Edit the RunSettings - modify
classNameto the example you'd like to run. - From sbt shell, run
~example/reStart. You should seeServer started on port: 8080. - Send curl request for defined
http Routes, for eg :curl -i "http://localhost:8080/text"forexample.HelloWorld.
Watch Mode
You can use the sbt-revolver plugin to start the server and run it in watch mode using ~ reStart command on the SBT console.
Documentation
Learn more on the ZIO Http homepage!
Contributing
For the general guidelines, see ZIO contributor's guide.
Code of Conduct
See the Code of Conduct