我正在尝试在Grails 3.1中使用JSON-Views。
我有以下控制器:
package myapp
BasketController {
def index(ProductFilterCommand cmd) {
[basketList: service.findAllBaskets()]
}
}
还有以下的课程:
package myapp
class Basket {
List<BasketItem> items
}
class BasketItem {
String name
}
这里是我认为能够正常工作的gson文件:
basket/index.gson
import myapp.Basket
model {
Iterable<Basket> basketList
}
json.baskets(basketList) {
g.render(template: "basket", model: [basket: it])
}
篮子/_basket.gson
import myapp.Basket
model {
Basket basket
}
json.items(basket.items) {
g.render(template: "item", model:[item: it])
}
篮子/_物品.gson
import myapp.Item
model {
Item item
}
json g.render(item)
我想生成类似于下面的JSON:
{
"baskets": [{
"items": [{
"name": "T-shirt"
}, {
"name": "Pants"
}]
}, {
"items": [{
"name": "T-shirt"
}, {
"name": "Pants"
}]
}]
}
但是我得到的是:
{
"baskets": [
{},
{}
]
}
Basket
,BasketItem
- 它们是领域类吗? - dmahapatroindex.gson
中使用json { baskets basketList }
即可得到预期结果,因此我之前提出了问题。当然,你需要为basketList
使用model
dsl。 :) - dmahapatro