2017-07-01 5 views
0

J'ai ce codecomment passer la valeur du paramètre dans le contrôleur

class UserController @Inject() (var factory:FactoryHandler) extends Controller { 
} 

FactoryHandler.scala

class FactoryHandler(s:String) { 
} 

comment puis-je passer "s" Paramètre une valeur UserController en s'il vous plaît-2.4 aider play framework I vouloir remplir ce paramètre pour d'autres tâches

Répondre

0

changer d'une certaine façon l'état d'objet injecté doit être évité car cet objet injecté peut également être utilisé par un autre contrôleur et de l'état modifié peut conduire à des bogues inutiles.

Une solution fonctionnelle idéale serait de changer cette classe injectée dans la classe de cas ou mettre en œuvre une méthode de copie par vous-même en classe.

case class FactoryHandler(s: String) 
class UserController @Inject() (var factory:FactoryHandler) extends Controller { 

    val updatedFactory = factory.copy(s="Updated Value") 

    furtherProcessing(updatedFactory) 
}