2017-09-29 37 views
0

当我在Grails中使用RestfulController来保存对象的数据时,如何防止客户端将更改应用到相关的子对象?如何防止更新儿童属性?

假定下列域类:

class Language { 
    String name 
} 

class TranslationText { 
    Language language 
    String text 
} 

而对于一个TranslationText以下POST数据:

{ 
    "language": { "id": 1, "name": "InvalidName" }, 
    "text": "Some Text" 
} 

在这里,我想引用一个现有语言资源(与ID = 1),但我不希望名称被客户改变。

如何使用文本和语言(基于ID)保存此资源,但丢弃无效的语言名称属性?

我想以尽可能最小的方式修改RestfulController,尽可能保留默认行为。

+0

你可以用'绑定如果你不想分配'name'属性''约束。 http://docs.grails.org/latest/ref/Constraints/bindable.html –

+0

如果我将它映射到语言类上,当我发布到LanguageController时,这不会阻止我绑定它吗? – RMorrisey

回答