我有grails域类,看起来像这样
class Thing {
String name
static hasMany = [
variants: Variant
]
}
和另一个像这样的
class Variant {
String name
static belongsTo = [
thing: Thing
]
}
我正在尝试让hal渲染器进行深度渲染。
这可能吗?我应该如何实现它?
答案 0 :(得分:0)
这里的问题相同,它似乎是grails中的已知错误(https://jira.grails.org/browse/GRAILS-10954)
有一种(不是很好的)解决方法,
@Transactional(readOnly = true)
class ProductController extends RestfulController {
def halPCollectionRenderer
def halPRenderer
static responseFormats = ['hal','json']
ProductController() {
super(Product)
}
@PostConstruct
void init() {
halPCollectionRenderer.mappingContext = mappingContext
halPRenderer.mappingContext = mappingContext
}
MappingContext getMappingContext() {
final context = new KeyValueMappingContext("")
context.addPersistentEntity(Product)
context.addPersistentEntity(Category)
return context
}
}
希望它有所帮助。