在Grails框架中使用JSON
或XML
方法发送请求正文(POST
,PUT
)的正确方法是什么?
在Spring中,有一个@Valid
注释用于注释方法的参数和一堆字段注释(@NotNull
例如)和用于自动发送验证响应的异常映射器。我无法在Grails中找到类似的东西。
答案 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。