Używam Play 2.4. Chciałbym zastąpić domyślny router moją własną klasą za pomocą nowej funkcji dynamicznego wtrysku zależnego. Jakie są kroki, aby to zrobić?Router niestandardowy w Playframework 2.4
7
A
Odpowiedz
3
Możliwym rozwiązaniem byłoby, aby utworzyć nowy moduł Guice, związać swój nowy router:
class RouterModule extends AbstractModule {
override def configure(): Unit = {
bind(classOf[Router]).to(classOf[CustomRouter])
}
}
następnie zdefiniować nową aplikację Ładowarka, która zastąpi domyślną skonfigurowany router za pomocą nowo utworzonego modułu :
class MyApplicationLoader extends GuiceApplicationLoader with GuiceableModuleConversions {
override protected def overrides(context: Context): Seq[GuiceableModule] = {
Seq(fromGuiceModule(new RouterModule)) ++ super.overrides(context)
}
}
i korzystać z nowo utworzonego ładowania aplikacji, zamiast domyślnego, w application.conf:
play.application.loader = "de.zalando.store.pdp.modules.MyApplicationLoader"
Powiązane problemy
- 1. Understanding Play 2.4 Dependency Injection
- 2. Ustawienia przeglądarki w Playframework
- 3. Sesja obiektu w Playframework
- 4. Testuj WebSocket w PlayFramework
- 5. paginacja w playframework
- 6. Przeciągnij i upuść w GWT 2.4
- 7. android.content.res.Resources $ NotFoundException w Robolectric 2.4
- 8. używając skalatestu w projekcie playframework
- 9. Przesyłanie wielu plików w Playframework
- 10. Playframework JsValue w szablonie HTML
- 11. Użycie Scala Future w Playframework?
- 12. w konfiguracjach odtwarzania logu w wersji 2.4, gdzie zdefiniowano $ {application.home}?
- 13. Rozpuść router w backbone.js
- 14. Playframework 2,2 przeliczniki
- 15. jest playframework naprawdę asynchroniczny?
- 16. django lub playframework
- 17. Playframework 2.3.9 Zależność przesłanianie
- 18. Playframework run i Global.onStart
- 19. Playframework: [RuntimeException: java.lang.reflect.InvocationTargetException]
- 20. Playframework 2 SQLite
- 21. playframework: i18n + scala
- 22. Router reagujący na router WebPack-dev-server
- 23. Planowanie zadań asynchronicznych w PlayFramework 2.5.X (Java)
- 24. Eclipse pokazuje błędy w konfiguracji Play 2.4
- 25. Planowanie stylu Crontab w Play 2.4.x?
- 26. Per-directory CA w httpd 2.4 (mod_ssl)
- 27. Apache regex backreferences UNREACHABLE w httpd 2.4?
- 28. Zrozumienie interesującego regionu w openCV 2.4
- 29. Surf brakuje w OpenCV 2.4 dla Pythona
- 30. Znak separatora ścieżek w pythonie 2.4
Na https://www.playframework.com/documentation/2.4.x/ScalaRouting: czy należy również dodać następującą instrukcję w pliku sbt fil :; routesGenerator: = InjectedRoutesGenerator? Czy możesz wskazać mi dokument dotyczący tego, jak właściwie została zapisana trasa niestandardowa? Dokument, który łączyłem, nie ma go. – 0fnt
IMHO możesz skorzystać z gry "Komponenty", aby zastąpić wstrzyknięte zależności (https://www.playframework.com/documentation/2.4.x/ScalaCompileTimeDependencyInjection). W ten sposób wystarczy napisać nową aplikację ApplicationLoader, odwołać się do niej w pliku application.conf. Nie trzeba pisać modułu guice. To samo, jeśli chcesz zastąpić MessageApi – iwalktheline