Я использую спрей, чтобы выставить спокойное обслуживание. поскольку в большинстве сервисов есть общий шаблон, поэтому я использую «&» для создания псевдонима для него. как следующее:Как скомбинировать часто используемый шаблон пути с использованием «&» в спрее
def getPath(path1: String) = path(path1) & get & detach() & complete
этот код записывается внутри признака MyService простирается HTTPService с Json4sSupport, если вы пытаетесь скомпилировать его отдельно, вы, возможно, придется писать как этот
def getPath(path1: String)(implicit ec: ExecutionContext) = path(path1) & spray.routing.Directives.get & detach() & complete
и использовать его в маршрут легко:
~ getPath("person2") { xxx }
//works as
//path("person1") {
// get {
// detach() {
// complete {
// println("receiving request /person1")
// something
// }
// }
// }
// }
, но я не знаю, как создать такой же псевдоним сообщение:
path("account"/"transaction") {
post {
entity(as[TransferRequest]) { transferReq =>
detach() {
complete {
//doing transfer
}
}
}
}
}
Я попытался
def postPath[T](path1: String) = path(path1) & post & entity(as[T]) & detach() & complete
, но не работает, ни где, чтобы получить параметр "transferReq". Как определить, что я хочу?