Grails mongodb映射类型给出了invalidStateException

罗伊

我正在尝试将Map属性添加到用户域

class User {
    String id
    String username
    String password
    ....
    Map<String, Follower> followers
    //i've tried also without embeded and got the same error. also tried follower insead of followers
    static embedded = ['followers']
}

class Follower {
    String name
    List<String> interests
}

我有一个宁静的控制器,实现了save方法

@Transactional
@Secured(['permitAll'])
def save(User user){
    user.id = new ObjectId().encodeAsBase64()
    user = user.insert(flush: true)
    respond 
}

可悲的是我遇到了一个例外:

java.lang.IllegalStateException: Cannot convert value of type [com.google.gson.JsonObject] to required type [Follower] for property 'followers[532dbe3b8fef86ebe3e64789]': no matching editors or conversion strategy found Around line 26 ofUserController.groovy

第26行是:user = user.insert(flush:true)

示例json请求:

{
    username : "roy",
    password : "123456",

    followers : {
        "532dbe3b8fef86ebe3e64789" : {
            name : "Roy",
            interests : ["math"]
        }
    }
}

任何帮助将不胜感激

谢谢!

罗伊

注入

您正在尝试将JSONObject的对象保存为Follower实例。解决此问题的直接方法是将其手动转换为Follower实例:

def save(User user){
  user.id = new ObjectId().encodeAsBase64()
  user.followers = user.followers.collect{ new Follower( it ) }
  user = user.insert(flush: true)
  respond 
}

如果您遇到更多此类情况,则应注册一个属性编辑器以进行转换JSON <-> Follower

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Grails映射对象

来自分类Dev

Grails映射/排序关联

来自分类Dev

Grails读取GORM映射

来自分类Dev

Faker for Grails给出了变量未定义的错误

来自分类Dev

Grails列出了最大结果

来自分类Dev

Spring Security URL映射Grails

来自分类Dev

Grails 3.0.11映射HTTP动词

来自分类Dev

排序前的Grails映射值

来自分类Dev

Grails 动态休息端点映射

来自分类Dev

使用MongoDB和Hibernate的Grails

来自分类Dev

无法安装Grails MongoDB插件

来自分类Dev

使用MongoDB的Grails多租户

来自分类Dev

使用SQL Server在grails上映射map数据类型

来自分类Dev

在grails域mongodb中的映射中按键查找

来自分类Dev

“没有这样的财产”,但Grails看到了,并给出了“可能的解决方案”?

来自分类Dev

“没有这样的财产”,但Grails看到了,并给出了“可能的解决方案”?

来自分类Dev

grails helloworld应用程序给出异常

来自分类Dev

Spring Security Grails 3.0 YML映射

来自分类Dev

Grails控制器映射,完全误解

来自分类Dev

如何在jQuery中遍历Grails映射

来自分类Dev

Grails控制器映射,完全误解

来自分类Dev

未加载Grails网址映射布局

来自分类Dev

json 2 打字稿映射给出了类型错误

来自分类Dev

PostgreSQL到Java数据类型(Grails)

来自分类Dev

grails错误:getGrailsApplication()的返回类型不兼容

来自分类Dev

PostgreSQL到Java数据类型(Grails)

来自分类Dev

grails中的remoteFunction()类型不匹配错误

来自分类Dev

如何在grails中检测对象类型

来自分类Dev

Grails中的列类型不起作用