0

このリンクの指示に従って、ブートストラップGroovyクラスを更新することをお勧めします。

// Bootstrap.groovy
import grails.converters.JSON

class BootStrap {

    def init = { servletContext ->
        JSON.registerObjectMarshaller(UserMapping) {
            def rA = [:]
            ra['userId'] = it.id
        }
    }
    def destroy = {
    }
}

ただし、エラーが返されます。

ERROR context.GrailsContextLoader  - Error initializing the application: No such property: UserMapping for class: BootStrap
Message: No such property: UserMapping for class: BootStrap

私のドメインクラスは次のようになります。

# UserMapping.groovy
package engagementlevels

class UserMapping {

    String username
    String email
    Date insertTime
    String type
    String flags

    static belongsTo = [groupMapping: GroupMapping]

    static mapping = {
        // Custom Mappings here
    }

    static hibernateFilters = {
        // Filters here
    }

    transient beforeInsert = {
        throw new RuntimeException('create not allowed')
    }
    transient beforeUpdate = {
        throw new RuntimeException('update not allowed')
    }
    transient beforeDelete = {
        throw new RuntimeException('delete not allowed')
    } 
}
4

1 に答える 1

2

これは「engagementlevels」パッケージに含まれていますが、BootStrap.groovyはデフォルトパッケージに含まれています。クラスのインポートを追加します。

import grails.converters.JSON
import engagementlevels.UserMapping

class BootStrap {

   def init = { servletContext ->
       JSON.registerObjectMarshaller(UserMapping) {
          def rA = [userId: it.id]
       }
   }
}
于 2013-01-15T04:09:08.377 に答える