я в настоящее время имеют следующие 3 класса домена:ограничивают объем данных при использовании withCriteria
User.groovy
class User {
...
static hasMany = [
...
]
static belongsTo = [
course : Course,
university : University
]
}
Course.groovy
class Course {
String title
static hasMany = [
universities : University,
users : User
]
static belongsTo = University
}
University.groovy
class University {
String name
static hasMany = [
courses : Course,
users : User
]
}
Я собираю все курсы для университета со следующим кодом:
def courses = Course.withCriteria {
universities {
eq('id', Long.parseLong(params.universityId))
}
}
render courses as JSON
с примером ответа, как так:
[{
"class":"classifieds.Course",
"id":1,
"title":"Computer Science",
"universities":
[{"class":"University",
"id":1}],
"users":
[{"class":"User"
,"id":1}]
}]
Моя проблема заключается в том, что я хочу, чтобы ограничить объем ответа на не включают users
или universities
, которые в настоящее время возвращаются, я только то, что список courses
будет возвращен в JSON. Как это ограничить?
'University.get (params.long ('universityId')) .courses.title как JSON'? –
спасибо за это - близко .. Возможно ли вернуть «курс» с «id», так что ответом будет сборник «{« id »: 1,« title »:« Computer Science »}' и т.д? –
'University.get (params.long ('universityId')) .courses.collect {[id: it.id, title: it.title]} как JSON'? ;-) –