我想知道如何在 Finch 中将 RequestReader 和 Route 绑定在一起。我没有找到关于它的完整示例。
这个例子来自 finch github,它工作正常。
import io.finch.route._
import com.twitter.finagle.Httpx
val api: Router[String] = get("hello") { "Hello, World!" }
Httpx.serve(":3000", api.toService)
我了解此代码将获得路径“hello”并返回响应“hello world”
然后我想将 RequestHeader 绑定到它。
val doSomethingWithRequest: RequestReader[String] =
for {
foo <- param("foo")
bar <- param("bar")
} yield "u got me"
val api: Router[RequestReader[String]] = Get / "hello" /> doSomethingWithRequest
val server = Httpx.serve(":3000", api.toService)
我认为这段代码意味着如果给定 url “ http://localhost:3000/hello?foo=3 ”,它将返回响应“u got me”。但是,响应状态为 404。
我认为我对Route和RequestHeader之间的组合做错了。
也许有人可以帮助我解决这个问题,另外,最好分享一些关于这个 Finch 的好文档。版本更新如此频繁,文档已过时https://finagle.github.io/blog/2014/12/10/rest-apis-with-finch/