grails - bindData 包含嵌套参数

标签 grails data-binding

给定以下类:

简化示例:

class Query {
    Institution institution
}

class Institution {
    String name
}

提交以下参数:query.institution.id=20query.institution.name=Example
我想只包含机构 id 并忽略名称绑定(bind)到查询的机构实例。

是否可以使用 bindData 显式包含像这样嵌套多个级别的关联实例?

除了将前缀用于单级嵌套之外,我还没有看到任何示例,以下似乎不起作用:

简化示例:
bindData(queryInstance, params, [include: [
    'institution.id',
]], 'query')

最佳答案

最佳实践是通过命令对象过滤您的请求参数,然后可以使用该命令对象生成任何类型的查询。

Command cmd = Command.getInstance()
bindData(cmd, request.params)
if (cmd.validate()) Query query = cmd.generateQuery()

通过这种方式,您可以获得仅绑定(bind)到您在命令对象上公开的字段的好处,同时验证和转换传入数据而不涉及您的域。

关于grails - bindData 包含嵌套参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31969582/

相关文章:

java - 自定义 Grails 异常处理

http - Grails HTTPResponse 失败的依赖异常

java - 无法在Grails 2.4.4项目中实例化OpenCV-4.0.1 CascadeClassifier

grails - 尝试获取ID类型不匹配

data-binding - Vaadin 8 Binder 中相关计算属性的自动更新显示

c# - Winforms 将枚举绑定(bind)到单选按钮

Android MVVM + 数据绑定(bind) RecyclerView

grails - 我可以在哪里放置 Grails 测试所有类型测试的通用类

c# - XAML 绑定(bind)用户控件 TextBlock 不会显示绑定(bind)数据

c# - 在 WPF 中将 Image.Source 绑定(bind)到字符串?