0

如何使用 Play Validation Framework 来验证来自传入“POST”网络服务的数据?有哪些不同的方法来做到这一点?我应该在哪里验证我的数据:在控制器还是在服务层?我正在使用“play.data.validation.Validation”。但不工作。我是玩框架的新手。我正在使用带有java(不是scala)的play 2.4。

4

1 回答 1

0

使用play.data.Form将请求中的数据绑定到pojo类。表单字段可以使用不同的约束进行注释。如果其中一个失败,表单将包含错误:

Form<YourClass> form = Form.form(YourClass.class).bindFromRequest();
 if (form.hasErrors()) {
     return badRequest();
 } else {
     ...
 }

你的pojo班级:

public class YourClass {

    @Required
    private Long id;

    // setters, getters

}

我应该在哪里验证我的数据:在控制器还是在服务层?

我更喜欢在转移到服务层之前验证数据。否则,您的服务层必须处理bad data场景并向控制器层返回足够的响应。

于 2015-06-30T07:32:56.993 回答