Play!Framework允许您编写一个输入名称为“message.id”的表单,然后编写一个类似的操作
public static void getMessage( Message message )
{
....
}
所以参数message.id在值上使用“findById”转换为模型Message。
Play还允许您编写REST URL。 例如 GET / message / {id}
但在这种情况下,操作签名是
public static void getMessage( long id )
{
....
}
在这种情况下,我需要自己调用Message.findById。
我正在尝试做这样的组合
GET /message/{message.id} MessageController.getMessage
和行动
public static void getMessage( Message message ){ ... }
但我无法让它发挥作用。 如果我使用的是Play 1.2.1,如何让它工作?
我找到了一个谷歌小组主题:here
答案 0 :(得分:0)
你不能混合两者,而且没有多大意义。 Play的pojo object binding允许您编写一个以Java对象作为参数的动作方法,但该机制仅在您遵循其约定时才有效。如果您想将Message
传递给getMessage()
,只需按如下方式定义路线:
GET /message/{message} MessageController.getMessage
您可以通过/message/message.id=123