Ich verwende die Unterstützung für REST von Grails in 2.3 eingeführt. Meine app enthält die folgenden Domain-Klassen:verschachtelte RESTful-Ressourcen
@Resource(formats=['json', 'xml'])
class Sensor {
String name
static hasMany = [metrics: Metric]
}
@Resource(formats=['json', 'xml'])
class Metric {
String name
String value
static belongsTo = [sensor: Sensor]
}
Und in UrlMappings.groovy
Ich habe die folgende verschachtelte RESTful URL-Zuordnungen definiert:
"/api/sensors"(resources: 'sensor') {
"/metrics"(resources: "metric")
}
Wenn ich an die URL navigieren /api/sensors/1/metrics
Ich erwarte, dass die Antwort alle zeigen Metric
Instanzen mit den Sensor
mit ID 1 zugeordnet ist, sondern in der Tat gibt es alle Metric
Fälle (bis zu einer Grenze von 10)
- Gibt es eine URL, die nur
Metric
Instanzen zurückgibt, die einer bestimmtenSensor
Instanz zugeordnet sind (ohne einen eigenen Controller zu implementieren)? - Gibt es eine Möglichkeit, die Standardlimit von 10 außer Kraft zu setzen (ohne
max
Parameter auf die Anfrage hinzufügen)?
In Bezug auf die Änderung der Grenze bei der Verwendung von Ressource ist die Antwort nein. Es gab eine vorherige Diskussion darüber bereits hier. Der Grund für diese Design-Entscheidung war, dass Resource so konzipiert wurde, dass es schnell und einfach ist, die Controller als nächste Stufe der Anpassung zu erzeugen und zu modifizieren. Meine vorherige Antwort darauf hat Zeiger auf die Grails-Quelle, um zu demonstrieren, dass Resource diese Anpassung nicht erlaubt. –
http://stackoverflow.com/questions/22336804/change-default-for-max-attribute-on-results-for-resource-on-domain-classes-for/22337550#22337550 –
@JoshuaMoore Dank, weißt du, Wenn es möglich ist, die "metrischen" Instanzen für eine einzelne "Sensor" -Instanz zu erhalten? –