2012-04-07 3 views
1

Play-Framework können Sie ein Formular mit einem Eingabenamen "message.id" schreiben und dann eine Aktion schreiben, wie soPlay-Framework:! REST-URL mit einem Formparameter

public static void getMessage(Message message) 
{ 
    .... 
} 

So ist der Parameter message.id wird in das Modell Nachricht mit "findById" auf den Wert übersetzt.

Mit Play können Sie auch REST-URLs schreiben. Zum Beispiel GET/message/{id}

aber in diesem Fall wird die Aktion Signatur

public static void getMessage(long id) 
{ 
    .... 
} 

In diesem Fall muss ich Message.findById von mir rufen.

Ich versuche, eine Kombination wie so

GET /message/{message.id} MessageController.getMessage 

und die Aktion zu tun, um zu sein

public static void getMessage(Message message){ ... } 

aber ich konnte es nicht zur Arbeit kommen. Wie bekomme ich es zur Arbeit, wenn ich play 1.2.1 verwende?

fand ich eine Gruppe google Thread dazu: here

Antwort

0

Sie können die beiden nicht Mischung, und es würde nicht viel Sinn haben. Play pojo object binding können Sie eine Aktionsmethode mit einem Java-Objekt als Parameter schreiben, aber der Mechanismus funktioniert nur, wenn Sie die Konventionen befolgen. Wenn Sie ein Message-getMessage() einfach definieren die Route übergeben wollen, wie folgt:

GET /message/{message} MessageController.getMessage 

und Sie werden die richtige Botschaft über eine URL wie /message/message.id=123

holen können,