【发布时间】:2018-01-20 23:22:16
【问题描述】:
好的,我已经尝试了我所知道的一切来自定义呈现与 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 对订户类所需的属性,但这不是预期的效果。我希望在直接向订户进行休息呼叫时能够保留所有属性,但在对有许多订户的票进行休息呼叫时限制属性
标签: json views grails-3.0