Skip to content

jbclaramonte/grails-asmap-plugin

Repository files navigation

Grails asMap Plugin

This plugin provides a simple dsl to retrieve, as a Map, data parts of a GORM domain.

Sample use

Given a domain where a User have can many Blogs and a Blog can have many Posts, ...

User user = User.findByEmail("tom@test.com")
userMap = user.asMap {
    include "id", "username"
    load("blogs") {
        include "id", "title"
        load("posts") {
            include "id", "title"
            load("category") {
                include "name"
            }
        }
    }
}

println userMap

JSON userJson = userMap as JSON
userJson.prettyPrint = true

println userJson

This will give you the following output:

[id:1, username:Tom, blogs:[[id:1, title:A blog about Java, posts:[[id:2, title:post1, category:[name:Programming]], [id:1, title:post2, category:[name:Programming]]]]]]
{
  "id": 1,
  "username": "Tom",
  "blogs":
  [
    {
      "id": 1,
      "title": "A blog about Java",
      "posts":
      [
        {
          "id": 2,
          "title": "post1",
          "category": {
            "name": "Programming"
          }
        },
        {
          "id": 1,
          "title": "post2",
          "category": {
            "name": "Programming"
          }
        }
      ]
    }
  ]
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages