在Akka HTTP中,路由的类型为:
type Route = RequestContext ⇒ Future[RouteResult]
如何阅读?我的理解是Route是类,其行为类似于接受RequestContext类型作为参数并返回Future的函数。如果我错了,请纠正我。
答案 0 :(得分:3)
我的理解是Route是一个行为类似于函数的类 它接受RequestContext类型作为参数并返回Future
你几乎就在那里。 Route
不是类,它是type alias。它没有创建新的数据结构,它允许我们编写更简洁的代码,这些代码具有完全相同的含义,但通常更短。
Route
是一个函数,它接受RequestContext
并返回Future[RouteResult]
,仅此而已。好处是你不必写:
def foo(route: RequestContext => Future[RouteResult]): Future[RouteResult]
但可以这样做:
def foo(route: Route): Future[RouteResult]