2012-04-07 5 views
1

Play Framework позволяет писать форму с именем входа «message.id», а затем написать действие, как такPlay Framework: REST URL с параметром формы

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

Так параметр message.id преобразуется в сообщение модели, используя «findById» в значении.

Play также позволяет писать URL-адреса REST. Например GET/сообщение/{идентификатор}

, но в этом случае подпись действие

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

В этом случае нужно вызвать Message.findById сам.

Я пытаюсь сделать сочетание как и

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

и действия, чтобы быть

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

, но я не мог заставить его работать. Как мне заставить его работать, если я использую play 1.2.1?

Я нашел группу нить Google по этому вопросу: here

ответ

0

Вы не можете смеси двойка, и это не будет иметь особого смысла. Play pojo object binding позволяет вам написать метод действия с объектом Java в качестве параметра, но механизм работает только в том случае, если вы следуете его соглашениям. Если вы хотите передать Message в getMessage() просто определить маршрут следующим образом:

GET /message/{message} MessageController.getMessage 

и вы сможете выбрать правильное сообщение через URL, как /message/message.id=123

Смежные вопросы