为了账号安全,请及时绑定邮箱和手机立即绑定

Grails 在使用 grails 插件后从 Marshaller 抛出

Grails 在使用 grails 插件后从 Marshaller 抛出

哈士奇WWW 2023-01-05 10:10:41
我的 grails 应用程序中有 Marshaller,它工作正常,但在我的应用程序中集成插件后,它抛出错误。错误如下:由以下原因引起:org.grails.web.converters.exceptions.ConverterException:在 org.grails.web.converters.marshaller.json.GenericJavaBeanMarshaller.marshalObject(GenericJavaBeanMarshaller.java: 84) 在 org.grails.web.converters.marshaller.json.GenericJavaBeanMarshaller.marshalObject(GenericJavaBeanMarshaller.java:39) 在 grails.converters.JSON.value(JSON.java:184) 在 grails.converters.JSON.convertAnother(JSON .java:144) 在 org.grails.web.converters.marshaller.json.MapMarshaller.marshalObject(MapMarshaller.java:45) 在 org.grails.web.converters.marshaller.json.MapMarshaller.marshalObject(MapMarshaller.java:30) ) 在 grails.converters.JSON.value(JSON.java:184) 在 grails.converters.JSON.convertAnother(JSON.java:144) 在 org.grails.web。org.grails.web.converters.marshaller.json.GenericJavaBeanMarshaller.marshalObject(GenericJavaBeanMarshaller.java:66) 在 grails.converters.JSON.value(JSON. java:184) 在 grails.converters.JSON.convertAnother(JSON.java:144) 在 org.grails.web.converters.marshaller.json.GenericJavaBeanMarshaller.marshalObject(GenericJavaBeanMarshaller.java:66) 在 org.grails.web.converters .marshaller.json.GenericJavaBeanMarshaller.marshalObject(GenericJavaBeanMarshaller.java:39) 在 grails.converters.JSON.value(JSON.java:184) 在 grails.converters.JSON.convertAnother(JSON.java:144) 在 org.grails。 web.converters.marshaller.json.GenericJavaBeanMarshaller.marshalObject(GenericJavaBeanMarshaller.java:66) 在 org.grails.web.converters。marshaller.json.GenericJavaBeanMarshaller.marshalObject(GenericJavaBeanMarshaller.java:39) 在 grails.converters.JSON.value(JSON.java:184) 在 grails.converters.JSON.convertAnother(JSON.java:144) 在 org.grails.web .converters.marshaller.json.GroovyBeanMarshaller.marshalObject(GroovyBeanMarshaller.java:67) 在 
查看完整描述

2 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

new RestBuilder()您的插件是否使用org.grails:grails-datastore-rest-client插件?那么你很可能在 Grails 中触发了这个错误。我刚刚在我们的代码中再次遇到了这个问题:-(


解决方法:您必须将插件代码重写为如下所示:


RestBuilder rest = new RestBuilder(

        ...

        // workaround for https://github.com/grails/grails-data-mapping/issues/864

        registerConverters: false

    )

警告如果您的代码依赖于可用于正文内容的转换器,那么您将不得不重写代码以手动处理转换。即从


new RestBuilder(...)

    .put(...) {

        ...

        body object as JSON

    }


String json = (object as JSON).toString()

new RestBuilder(

        ...

        // workaround for https://github.com/grails/grails-data-mapping/issues/864

        registerConverters: false

    )

    .put(...) {

        ...

        body json

    }


查看完整回答
反对 回复 2023-01-05
?
临摹微笑

TA贡献1982条经验 获得超2个赞

您使用的是什么插件,它是否与您使用的 grails 版本兼容?您也可以尝试grails clean并重新启动。



查看完整回答
反对 回复 2023-01-05
  • 2 回答
  • 0 关注
  • 128 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信