好吧我已經嘗試了一切我知道自定義呈現與JSON視圖的一對多關聯,並失敗慘敗。Grails 3 JSON視圖自定義渲染一對多關聯
這裏是我的機票域的一部分,看起來像(全好這裏)...
class TttTicket {
String title
String number
String description
TttUser assignee
String priority
String status
TttUser creator
Date dateCreated
Date lastUpdated
static mappedBy = [subscribers : 'none', creator:'none']
static belongsTo = [project:TttProject, creator:TttUser]
static hasMany = [subscribers: TttUser]
... blar blar
}
這裏是我的相關GSON呈現模板...
import ttt_api_server.TttTicket
model {
TttTicket tttTicket
}
json g.render(tttTicket, [excludes:['creator','subscribers','project']]){
creator {
id tttTicket.creator.id
name tttTicket.creator.name
email tttTicket.creator.email
}
project{
id tttTicket.project.id
name tttTicket.project.name
}
}
...這是工作很好,迄今。我想現在限制每個用戶的屬性輸出。
如何旋轉這些?例如...
import ttt_api_server.TttTicket
model {
TttTicket tttTicket
}
json g.render(tttTicket, [excludes:['creator','subscribers','project']]){
creator {
id tttTicket.creator.id
name tttTicket.creator.name
email tttTicket.creator.email
}
subscibers g.render(){
tttTicket.subscribers.each {sub ->
return {
name sub.name
}
}
}
project{
id tttTicket.project.id
name tttTicket.project.name
}
}
這似乎沒有記錄在任何地方。我想控制這個級別的每個用戶的JSON輸出。不在域級別,因爲根據我的JSON要求,我可能需要更改屬性輸出。
請幫助:-(
順便說一句 - 我已經建立了一個臨時解決方案,其中只包括我需要在訂戶類上通過它的gson的屬性,但這不是渴望d效果。我希望能夠在直接對訂閱者進行其他調用時保留所有屬性,但在對具有多個訂閱者的票據進行休息調用時限制屬性 – AndyRED