Ich migriere eine Scala Play-Anwendung auf 2.5 und verschiebe derzeit meine Komponenten in Abhängigkeitsinjektionen. Es gibt noch einen Ort, an dem ich nicht weiß, wie ich es machen soll. Ich habe eine PathBindable implizite Konvertierung in dem Begleitobjekt definiert:Play Framework PathBindable mit Abhängigkeitsinjektion
object Task {
implicit def pathBindable(implicit stringBinder: PathBindable[String]) =
new PathBindable[Task] {
...
}
}
Die Umsetzung des PathBindable muss das Objekt aus einem Repository sehen, aber ich habe keine Möglichkeit, abhängigkeits zu injizieren das Repository hier gefunden. Ich verwende das jetzt veraltet Play-Objekt als Abhilfe:
val tasks = Play.application(Play.current).injector.instanceOf[TasksRepository]
Irgendwelche Ideen, wie diese richtig zu lösen?
Hm, das Problem ist, dass die implizite muss für die Routen verfügbar sein, so dass ich es dort verwenden kann: https://www.playframework.com/documentation/2.5.x/api/scala/index.html# play.api.mvc.PathBindable –