2016-05-17 2 views
0

J'ai utilisé le cadre de jeu pour Scala et j'ai eu des problèmes. J'essaye d'appeler une autre méthode de contrôleur d'une méthode de contrôleur. Au début, j'ai essayé d'utiliser la commande WSRequest/Response pour appeler la route de la méthode de l'autre contrôleur, mais la WSResponse ne contenait rien! Aucun cookie ou en-tête Même si la méthode du contrôleur renvoie une redirection WithCookies.Jouer Scala Call Controller Méthode d'une autre méthode

Aussi je ne suis pas sûr comment appeler directement la méthode de contrôleur puisqu'elle renvoie une action essentielle, mais la première méthode utilise la méthode de demande implicite ActionAsync qui exige un futur [résultat]. Comment utiliser l'EssentiaLAction pour créer un avenir [Résultat] !!?

Des idées sur comment réparer mon PRoblem? Merci!

Répondre

1

Basé sur Action composition

def a(s: String): Action[AnyContent] = Action.async { 
    Future(Ok(s)) 
} 

def b: Action[AnyContent] = Action.async {request => 
    a("from b")(request) 
} 
+0

vous arrive aussi savoir pourquoi le WSResponse n'a pas été correctement capturer les biscuits/têtes/ou de l'état du second appel? Tout avant que cela fonctionne bien – MrTugay

+0

Je ne comprends pas le problème avec les cookies/en-têtes/ou le statut. Si cette réponse vous aide avec la question principale, vérifiez répondu (utile) et créez une nouvelle question pour vos autres problèmes s'il vous plaît. –