【问题标题】:Play Framework : REST url with a form parameter播放框架:带有表单参数的 REST url
【发布时间】:2012-04-20 14:45:42
【问题描述】:

Play!Framework 允许您编写一个输入名称为“message.id”的表单,然后像这样编写一个动作

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

因此参数message.id被转换为模型Message,在值上使用“findById”。

Play 还允许您编写 REST 网址。 例如 获取 /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,如何让它工作?

我在此找到了一个 google 组线程:here

【问题讨论】:

    标签: playframework


    【解决方案1】:

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

    GET    /message/{message}    MessageController.getMessage
    

    您将能够通过/message/message.id=123 之类的 URL 选择正确的消息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-04
      • 1970-01-01
      • 2011-08-16
      • 2015-02-19
      • 2016-08-03
      • 2013-03-22
      • 1970-01-01
      • 2018-08-06
      相关资源
      最近更新 更多