я директива, определяется какМожно ли использовать неявные параметры при определении директив маршрутизации?
def allowedRoles(roles: UserRole*)(implicit login: Login): Directive0 = ???
Но я не; кажется, чтобы быть в состоянии использовать его в без того, чтобы в явном виде прохода в параметре login
def myRoutes(implicit req: HttpRequest, login: Login) = {
path("example"/"path") {
get {
allowedRoles(Administrator) { // ← fails
handleGet
}
}
}
}
если я пытаюсь для его компиляции это не соответствует несоответствию типа:
[error] found : akka.http.scaladsl.server.Route
[error] (which expands to) akka.http.scaladsl.server.RequestContext => scala.concurrent.Future[akka.http.scaladsl.server.RouteResult]
[error] required: com.example.Login
[error] allowedRoles(Administrator) { handleGet } }
если я меняю отмеченную линию до allowedRoles(Administrator)(login)
, тогда он работает, но мне кажется, что мне не нужно это делать, чего мне не хватает?
Вы пытались определить логин (внутри определения MyRoutes), как неявное? – Nyavro