嵌套实体与HAL渲染
问题描述:
我有看起来像这样的嵌套实体与HAL渲染
class Thing {
String name
static hasMany = [
variants: Variant
]
}
,另一个像这样
class Variant {
String name
static belongsTo = [
thing: Thing
]
}
我试图让HAL渲染器Grails领域类做一个深刻的渲染。
这可能吗?我应该如何实现它?
答
这里同样的问题,它似乎是在Grails的(https://jira.grails.org/browse/GRAILS-10954)
一个已知的bug有一个(不是很好)的解决方法,
@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
}
}
希望它能帮助。
+0
顺便说一句,这不是我的工作既:( – Rafael 2015-03-27 17:18:29
我希望我有答案,因为我一直在想同样的事情。我一直在扩展HalJsonRenderer和HalJsonCollectionRenderer,假设我可以使用一些Reflection来挑选列表然后渲染它们。老实说,我想要将一个子集合呈现为一个url。就像我在博客上收到评论一样,它只会返回像博客/ 1 /评论这样的链接。 – deusprogrammer 2014-10-30 19:11:38
这是什么新东西? ...即时通讯在相同的情况下,不能如何解决它。 – Rafael 2015-03-30 10:01:43