我正在使用Grails 2.3引入的REST支持。我的应用程序包括以下领域类:
@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]
}
在UrlMappings.groovy
中,我定义了以下嵌套的RESTful URL映射:
"/api/sensors"(resources: 'sensor') {
"/metrics"(resources: "metric")
}
如果我访问URL
/api/sensors/1/metrics
,我期望响应能够显示所有与ID为1的Sensor
相关联的Metric
实例,但事实上它返回了所有Metric
实例(最多10个)。
- 是否有一个URL可以只返回与特定
Sensor
实例相关联的Metric
实例(而不用自己实现控制器)? - 是否有一种方法可以覆盖默认的10个结果限制(而无需向请求添加
max
参数)?
Sensor
实例的Metric
实例吗? - DónalRestufulController
并重写queryForResource
可能会稍微好一些。http://grails.org/doc/latest/guide/webServices.html#extendingRestfulController - Dónal