【发布时间】:2016-05-02 00:51:37
【问题描述】:
在 finch 中,我们可以这样定义路由、请求参数、请求体。
case class Test(name: String, age: Int)
val router: Endpoint[Test] = post("hello") { Ok(Test("name", 30)) }
val requestBody: Endpoint[Test] = body.as[Test]
val requestParameters: Endpoint[Test] = Endpoint.derive[Test].fromParams
好处是我们可以将 EndPoint 组合在一起。例如,我可以定义:
请求路径是hello,Parameter应该有name和age。 (router :: requestParameters)
但是,我仍然可以成功运行不包含任何请求路径的无效端点(实际上没有编译错误)
Await.ready(Http.serve(":3000", requestParameters.toService))
结果返回 404 not found page。即使我希望错误应该像编译错误一样早点报告。我想知道这是一个设计缺陷还是实际上是雀试图修复的?
在此先感谢
【问题讨论】:
标签: web-services scala finagle finch