Ich frage mich, wie RequestReader und Route in Finch gebunden werden. Ich habe kein vollständiges Beispiel dafür gefunden.wie RequestReader an Route in Finch zu binden ist
Dieses Beispiel stammt von Finch Github, und es funktioniert ordnungsgemäß.
import io.finch.route._
import com.twitter.finagle.Httpx
val api: Router[String] = get("hello") { "Hello, World!" }
Httpx.serve(":3000", api.toService)
Ich verstehe, dass dieser Code Weg bekommen „Hallo“ und wird die Antwort „Hallo Welt“
und dann will ich zurückkehren Request, um es zu binden.
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)
Ich dachte, dieser Code bedeutet, wenn die URL angegeben wird "http://localhost:3000/hello?foo=3" es wird die Antwort zurück "me u got". Der Antwortstatus ist jedoch 404.
Ich denke, ich habe etwas falsch für die Kombination zwischen Route und RequestHeader.
Vielleicht kann mir jemand hier helfen, auch wäre es besser, ein paar gute Dokumente über diesen Finch zu teilen. die Version stößt so häufig und das Dokument ist veraltet https://finagle.github.io/blog/2014/12/10/rest-apis-with-finch/
U sind die Schöpfer! Vielen Dank –