2010-12-22 10 views
11

Wie verwende ich play um Webservice zu entwickeln?Wie zu spielen! Rahmen zur Entwicklung des Webservice?

Ich kann keine Dokumente auf der offiziellen Website finden.

+0

Warum würden Sie wollen? Play ist kein Web-Service-Framework. Warum möchten Sie es verwenden? – skaffman

+6

Play ist aufgrund seiner strikten RESTful-Natur sehr kompetent beim Erstellen von Web-Services und das MVC-Muster macht es sehr einfach zu erreichen. Ein Beispiel dafür, warum Sie ein Webanwendungsframework für Webservices verwenden möchten, besteht im Erstellen von Webanwendungen, die auch Webdienste enthalten (z. B. Twitter und seine APIs). – Codemwnci

+0

@LionPlayer hast du Glück dabei .... ich versuche etwas ähnliches zu machen. –

Antwort

26

Ganz einfach wirklich.

Play wird mit einer Reihe von Methoden geliefert, mit denen Sie Ihre Aktionen als Webdienste verfügbar machen können.

Zum Beispiel

render() 
renderJSON() 
renderXML() 

Diese können alle verwendet werden, um Daten in einer bestimmten Art und Weise zu machen.

Wenn Sie einen Web-Service hatte, werfen wir einen RESTful Webservice annehmen, dass Sie die Summe von zwei Zahlen zurückkehren wollte, Sie in der folgenden Art und Weise so tun konnte

public class Application extends Controller { 

    public static void sum(Float num1, Float num2) { 
     Float result = num1 * num2; 
     render(result); 
    } 
} 

wenn Ihre Route eingerichtet ist, Verwendung von XML als Format oder das Format korrekt im Request-Header gesetzt, Sie dann wieder das Ergebnis einer normale groovy Vorlage app/views/Application/sum.xml

zum Einrichten der Route korrekt zu formatieren, dann fügen Sie die folgende Zeile in route Datei mit dem Namen verwenden

Die sum.xml würde dann in etwa so aussehen

<response> 
    <sum>${result}</sum> 
</response> 

Das gleiche Konzept für JSON funktioniert.

Wenn Sie keine groovy Templates verwenden möchten, können Sie XML oder JSON einfach mit den Methoden /renderXML erstellen, aber das bedeutet, dass Sie Präsentationslogik in Ihrem Controller erstellen, was eine schlechte Praxis ist.

Wenn Sie als Subnote Webservices verwenden möchten, verwenden Sie die Klasse play.libs.WS. Ich habe einen Blog geschrieben, wie das zu tun,

http://playframework.wordpress.com/2010/08/15/web-services-using-play/

+0

Es wäre sehr hilfreich, wenn Sie Ihre Antwort aktualisieren könnten Betrachten Sie Play2.0 und Scala. Ich werde das als separate Frage erstellen – Jack

+0

http://stackoverflow.com/questions/12180475/play-framework-webservice-tutorial-scala –

Verwandte Themen