Play2-mini und Akka2 für HTTP-Gateway

8

Ich bewerte die Möglichkeit, Play2-mini mit Scala zu verwenden, um einen Dienst zu entwickeln, der zwischen einem Handy sitzt Client und bestehender Webservice. Ich suche nach dem einfachsten möglichen Beispiel für einen Code, in dem Play2-mini einen Server und einen Client implementiert. Idealerweise verwendet der Client Akka2-Akteure.

Mit dieser Frage versuche ich herauszufinden, wie es gemacht wird, aber auch zu sehen, wie Play2-Mini und Akka2 zusammenarbeiten sollten. Da scheint Play2-Mini der Ersatz für die Akka-HTTP-Module zu sein.

Play2-mini enthält das folgende Codebeispiel, in dem ich zwei TODOs erstellt habe. Wenn jemand mir mit ein paar Beispielcode helfen kann, werde ich wirklich dankbar sein.

%Vor%     
Jack 13.02.2012, 12:05
quelle

2 Antworten

7

Hier ist die Implementierung Ihres Beispiels.

Fügen Sie die folgenden Importe hinzu:

%Vor%

Fügen Sie die folgende Route hinzu:

%Vor%

Es wird nur eine GET -Anfrage an eine Backend-Dienstleistung als POST -Anfrage weitergeleitet. Der Back-End-Service wird im Anforderungsparameter als target angegeben, und der Textkörper für die POST-Anforderung wird im Anforderungsparameter als data angegeben (muss gültiger XML-Code sein). Als Bonus wird die Anfrage asynchron bearbeitet (daher Async ). Sobald die Antwort vom Back-End-Dienst empfangen wurde, antwortet der Front-End-Dienst mit einem einfachen HTML-Code, der die Back-End-Dienstantwort anzeigt.

Wenn Sie den Anfragetext verwenden wollten, würde ich vorschlagen, die folgende POST route anstatt GET hinzuzufügen (wiederum muss in dieser Implementierung ein gültiger XML-Code sein):

%Vor%

Wie Sie sehen können, können Sie für Ihr HTTP-Gateway Async und play.api.libs.ws.WS mit Akka verwenden, um asynchrone Behandlung durchzuführen (keine expliziten Actors erforderlich). Viel Glück mit Ihrem Play2 / Akka2-Projekt.

    
romusz 12.03.2012, 22:25
quelle
1

Große Antwort von romusz

Eine weitere Möglichkeit, eine (blockierende) HTTP GET-Anfrage zu stellen:

%Vor%     
Tue 22.03.2012 11:23
quelle