play Framework 中的数据验证-java 2.4

Data Validation in play Framework-java 2.4

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

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

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

你的 pojo class:

public class YourClass {

    @Required
    private Long id;

    // setters, getters

}

And where should i validate my data : in Controller or in Service layer?

我更喜欢在移动到服务层之前验证数据。否则,您的服务层必须处理 bad data 场景和 return 对控制器层的充分响应。