Grails:将JSON自定义编组器定义为域中的静态方法

时间:2014-08-13 07:41:11

标签: json grails marshalling grails-2.0 grails-domain-class

我使用的是Grails 2.4.2。从这里可以看出:

https://grails.org/Converters+Reference

您可以使用自定义编组器在域中创建静态方法,以在控制器中呈现JSON。像那样:

域:

// a class to output in JSON
    package com.sample
    class User {
       String login
       String passwd

       // JSON definition of the User object
       static {
          grails.converters.JSON.registerObjectMarshaller(User) {
             return [
                     login: it.login
             ]
            }

    }

然后在你的控制器中:

def user = new User(login:'bob', passwd:'1234')
render user as JSON
在我的项目中,

这对我不起作用。我将它渲染并输出为默认渲染(使用类:" com.sample.User" ...)。 但是,如果我在域和环境中改变某些内容并且重新加载"它(重新编译),然后渲染是好的

当然,我希望自定义编组器代码在域中,如果可能没有其他代码(BootStrap.groovy,resources.groovy ......)等,我知道如何以另一种方式进行自定义编组(如此处:http://compiledammit.com/2012/08/16/custom-json-marshalling-in-grails-done-right/

所以...我错过了什么?有可能吗?

0 个答案:

没有答案