是否有任何建议的方法来限制grails中域的可见性?
通常你会做一些喜欢外部使用的界面:
def productList = Product.list()
withFormat {
html {[productList:productList]}
json { render productList as JSON }
xml { render productList as XML }
rss { render(feedType:"rss", productList)}
}
等于
SELECT * FROM product
但默认情况下,域名中不应填充的权利。所以我需要说点什么
SELECT id, name, foo1, foo2 FROM product
所以答案中只包含一个属性列表。
答案 0 :(得分:2)
您可以使用类似视图的第二个域类。诀窍是配置映射,使其与Product类具有相同的表:
class ProductView {
String name
Foo foo1
Foo foo2
static mapping = {
table 'product'
}
}
然后在您的用户界面中使用它:
def productList = ProductView.list()
withFormat {
html {[productList:productList]}
json { render productList as JSON }
xml { render productList as XML }
rss { render(feedType:"rss", productList)}
}