我想用akkahttp:做这样的事情
// etc ... ~
path("abc" / "def") { m } // here I just define the path routing logic
// now here I take care of everything else.
// this works:
def m(request: RequestContext): Future[RouteResult] = {
request.complete("")
}
但问题开始了:
// but this will not!:
def m(request: RequestContext): Future[RouteResult] = get {
request.complete("")
}
// nor this!:
def m(request: RequestContext): Future[RouteResult] = get {
parameters('a) { a => complete("") }
}
// nor this!:
def m(request: RequestContext): Future[RouteResult] = get {
parameters('a) { a => complete("") }
}
// nor this!:
def m(request: RequestContext): Future[RouteResult] = get {
parameters('a) { a => request.complete("") }
}
有什么简单的方法可以绕过这个问题吗?我并不是真的对Scala/akka-http的任何Future
功能感兴趣。我对这个级别的同步解决方案非常满意。
自己找到了答案。只需应用request
:
def m(request: RequestContext): Future[RouteResult] = get {
request.complete("")
}(request)