gpt4 book ai didi

grails - 时髦的, chalice : high level questions on extraneous properties and command objects/data binding

转载 作者:行者123 更新时间:2023-12-02 15:37:42 25 4
gpt4 key购买 nike

只是一些高层次的,希望非常快速的问题:

1)如果我有一个带有单个字段 x 的类 A,则正在构建它

def A = new A(x:someVal, y:someVal) 

完全没问题?

2)相关,以下是将命令对象的相关部分复制到域对象的好方法吗?
 def domainObject = new DomainObject(commandObject.properties).  

其中命令对象有额外的属性。或者应该改为:
def domainObject = new DomainObject()
domainObject.properties['prop1', 'prop2', ...] = commandObject.properties

或者 ?

谢谢

最佳答案

对于第一个问题,区分普通的 groovy 对象和 grails 域对象很重要。带有抛出 MissingPropertyException 的 Groovy 对象. Grails 域对象会默默地忽略额外的属性。

关于第二个问题,使用命令对象初始化 grails 域对象是一种常见的模式,通常可以。参数可能有点危险。恶意用户可以将任何内容放入参数中,因此最好明确说明您要分配的属性。否则,时间戳和用户之类的东西,甚至像注入(inject)的 spring bean 之类的非映射列都可能会受到影响。

关于grails - 时髦的, chalice : high level questions on extraneous properties and command objects/data binding,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7642992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com