Play Framework:带有表单参数的REST URL

时间:2012-04-07 07:35:35

标签: playframework

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

1 个答案:

答案 0 :(得分:0)

你不能混合两者,而且没有多大意义。 Play的pojo object binding允许您编写一个以Java对象作为参数的动作方法,但该机制仅在您遵循其约定时才有效。如果您想将Message传递给getMessage(),只需按如下方式定义路线:

GET    /message/{message}    MessageController.getMessage

您可以通过/message/message.id=123

等网址选择正确的讯息