2014-09-29 174 views
1

我有看起來像這樣的嵌套實體與HAL渲染

class Thing { 
    String name 
    static hasMany = [ 
    variants: Variant 
    ] 
} 

,另一個像這樣

class Variant { 
    String name 
    static belongsTo = [ 
    thing: Thing 
    ] 
} 

我試圖讓HAL渲染器Grails領域類做一個深刻的渲染。

這可能嗎?我應該如何實現它?

+0

我希望我有答案,因爲我一直在想同樣的事情。我一直在擴展HalJsonRenderer和HalJsonCollectionRenderer,假設我可以使用一些Reflection來挑選列表然後渲染它們。老實說,我想要將一個子集合呈現爲一個url。就像我在博客上收到評論一樣,它只會返回像博客/ 1 /評論這樣的鏈接。 – deusprogrammer 2014-10-30 19:11:38

+0

這是什麼新東西? ...即時通訊在相同的情況下,不能如何解決它。 – Rafael 2015-03-30 10:01:43

回答

0

這裏同樣的問題,它似乎是在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