I am trying to use JSON-Views in Grails 3.1.
I have the following controller:
package myapp
BasketController {
    def index(ProductFilterCommand cmd) {
        [basketList: service.findAllBaskets()]
    }
}
And the following classes:
package myapp
class Basket {
    List<BasketItem> items
}
class BasketItem  {
    String name 
}
Here are the gson files which I thought would work:
basket/index.gson
import myapp.Basket
model {
    Iterable<Basket> basketList
}
json.baskets(basketList) {
    g.render(template: "basket", model: [basket: it])
}
basket/_basket.gson
import myapp.Basket
model {
    Basket basket
}
json.items(basket.items) { 
    g.render(template: "item", model:[item: it])
}
basket/_item.gson
import myapp.Item
model {
    Item item
}
json g.render(item)
I want to generate json such as:
{
    "baskets": [{
        "items": [{
            "name": "T-shirt"
        }, {
            "name": "Pants"
        }]
    }, {
        "items": [{
            "name": "T-shirt"
        }, {
            "name": "Pants"
        }]
    }]
}
But instead I am getting:
{
  "baskets": [
    {},
    {}
  ]
}
 
    