【问题标题】:How does a PUT method look in a Play Framework Controller?PUT 方法在 Play 框架控制器中的外观如何?
【发布时间】:2015-10-20 21:45:28
【问题描述】:

是的,这可能是一个微不足道的问题,但我不知道在我的 Controller 中的 updatePerson() 方法中要做什么......

路线:

PUT     /person/:id                controllers.Application.updatePerson(id: Long)

Application.class(控制器)

public Result updatePerson(Long id) {
    ...
    return ok();
}

播放框架 2.4 版

【问题讨论】:

    标签: playframework ebean playframework-2.4


    【解决方案1】:

    代码应如下所示:

    public Result updatePerson(Long id) {
        Person person = Person.find.byId(id);
        person.setName("Marcel");
        person.update();
        return ok();
    }
    

    【讨论】:

    • 谢谢@cosmolev,这就是我一直在寻找的。我可以使用 bindFromRequest() 或类似方法访问新值(例如“名称”)吗?
    • 如果您使用的是 bindFromRequest() 更新将如下所示:Person person = Form.form(Person.class).bindFromRequest().get(); person.update(id);
    【解决方案2】:

    我不太确定你想在这里实现什么。但是您可以执行以下操作

    1. 您可以使用 Play 的 DI 将后续层(例如 Service/DAO 层)注入您的控制器以委托您的请求。阅读 here 了解 Play 的依赖注入选项。

    2. 要更新数据存储中的人员记录,您需要确保数据库中已经存在具有相同 ID 的人员。我认为你应该先处理保存功能,然后再回来更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-02
      • 2016-11-14
      • 1970-01-01
      • 2012-12-15
      • 1970-01-01
      • 1970-01-01
      • 2014-01-17
      相关资源
      最近更新 更多