Grails 3.x + Java Gson Marshaler stackoverflow异常

时间:2017-06-01 06:46:52

标签: java grails gson

所以这是我的问题。我有java类JsonMarshaller。它使用google Gson转换为json。

public String toJson(BaseDoc pojo) {
    return gson.toJson(pojo);
}

我是从grails控制器调用的。

String jsonString = new JsonMarshaller().toJson(eadDoc). 

eadDoc扩展了BaseDoc,一切正常。但是grails 3.x validateable不再是注释,而是界面。如果我的eadDoc实现它而不是错误。

 java.lang.reflect.InvocationTargetException: null
    at org.grails.core.DefaultGrailsControllerClass$ReflectionInvoker.invoke(DefaultGrailsControllerClass.java:210)
    at org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:187)
    at org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
    at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55)
    at org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
    at org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.StackOverflowError: null
    at java.util.WeakHashMap.hash(WeakHashMap.java:298)
    at java.util.WeakHashMap.get(WeakHashMap.java:396)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.writeField(ReflectiveTypeAdapterFactory.java:136)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:241)

所以问题是其他人是否也有同样的问题。你有解决方案,因为我确实需要这个groovy类可以验证。

0 个答案:

没有答案
相关问题