如何在Grails中实现输入JSON验证?

时间:2014-04-22 19:35:30

标签: json spring validation grails post

在Grails框架中使用JSONXML方法发送请求正文(POSTPUT)的正确方法是什么?

在Spring中,有一个@Valid注释用于注释方法的参数和一堆字段注释(@NotNull例如)和用于自动发送验证响应的异常映射器。我无法在Grails中找到类似的东西。

1 个答案:

答案 0 :(得分:3)

Grails通过Domain的约束块执行验证。例如:

class User {
  String username
  String password

  static constraints = {
    username nullable: false, maxSize: 50, email: true
    password nullable: false, maxSize: 64
  }
}

请参阅documentation

在域上的几个不同操作期间执行验证:

user.save() // validates and only persists if no errors
user.validate() // validates only

再次,请参阅文档。这与Spring的@Valid类似。查看其documentation,它指出:

  

Spring MVC将在绑定之后验证@Valid对象   已配置适当的Validator。

这与Grails正在做的基本相同的是它在绑定后发生。对于JSON / XML到Domain对象的转换,它真的很简单:

def jsonObject = request.JSON
def instance = new YourDomainClass(jsonObject)

请参阅此answer here