私はHTTP4Sを使用しており、webapp は jetty で実行されています。Web アプリ ファイルは次のように構成されます。
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<servlet>
<servlet-name>user-svc</servlet-name>
<servlet-class>io.databaker.UserSvcServlet</servlet-class>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>user-svc</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
使用可能な URI は次のとおりです。
object UserSvcRoutes {
def helloWorldRoutes[F[_]: Sync](H: HelloWorld[F]): HttpRoutes[F] = {
val dsl = new Http4sDsl[F]{}
import dsl._
HttpRoutes.of[F] {
case GET -> Root =>
Ok("Example")
case GET -> Root / "hello" / name =>
for {
greeting <- H.hello(HelloWorld.Name(name))
resp <- Ok(greeting)
} yield resp
}
}
}
http://localhost:8080/を呼び出すと、次のようになります。