您的位置:首页 > 教育 > 锐评 > 建网站费用记技术服务费_常州网站制作公司有哪些_信息流优化师怎么入行_武汉百捷集团百度推广服务有限公司

建网站费用记技术服务费_常州网站制作公司有哪些_信息流优化师怎么入行_武汉百捷集团百度推广服务有限公司

2025/4/22 19:26:24 来源:https://blog.csdn.net/weixin_42555971/article/details/147333580  浏览:    关键词:建网站费用记技术服务费_常州网站制作公司有哪些_信息流优化师怎么入行_武汉百捷集团百度推广服务有限公司
建网站费用记技术服务费_常州网站制作公司有哪些_信息流优化师怎么入行_武汉百捷集团百度推广服务有限公司

报错: ex=Handler dispatch failed; nested exception is java.lang.StackOverflowError
org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.StackOverflowError
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1087) ~[spring-webmvc-5.3.34.jar:5.3.34]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965) ~[spring-webmvc-5.3.34.jar:5.3.34]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.34.jar:5.3.34]
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.3.34.jar:5.3.34]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:497) ~[jakarta.servlet-api-4.0.4.jar:4.0.4]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.34.jar:5.3.34]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:584) ~[jakarta.servlet-api-4.0.4.jar:4.0.4]

只看上述报错,看不出来原因,很迷茫,看报错的最后部分

at cn.hutool.json.JSONObject.set(JSONObject.java:393) ~[hutool-all-5.8.26.jar!/:5.8.26]
at cn.hutool.json.JSONObject.set(JSONObject.java:352) ~[hutool-all-5.8.26.jar!/:5.8.26]
at cn.hutool.json.JSONObject.put(JSONObject.java:340) ~[hutool-all-5.8.26.jar!/:5.8.26]
at cn.hutool.json.JSONObject.put(JSONObject.java:32) ~[hutool-all-5.8.26.jar!/:5.8.26]
at cn.hutool.core.bean.copier.BeanToMapCopier.lambda$copy$0(BeanToMapCopier.java:82) ~[hutool-all-5.8.26.jar!/:5.8.26]
at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) ~[na:1.8.0_412]
at cn.hutool.core.bean.copier.BeanToMapCopier.copy(BeanToMapCopier.java:48) ~[hutool-all-5.8.26.jar!/:5.8.26]
at cn.hutool.core.bean.copier.BeanToMapCopier.copy(BeanToMapCopier.java:16) ~[hutool-all-5.8.26.jar!/:5.8.26]
at cn.hutool.core.bean.copier.BeanCopier.copy(BeanCopier.java:92) ~[hutool-all-5.8.26.jar!/:5.8.26]
at cn.hutool.core.bean.BeanUtil.beanToMap(BeanUtil.java:725) ~[hutool-all-5.8.26.jar!/:5.8.26]
at cn.hutool.json.ObjectMapper.mapFromBean(ObjectMapper.java:264) ~[hutool-all-5.8.26.jar!/:5.8.26]
at cn.hutool.json.ObjectMapper.map(ObjectMapper.java:114) ~[hutool-all-5.8.26.jar!/:5.8.26]

是hutool工具的转换报错,检查代码

    private void getBodyParam(Object arg, Map<String, Object> returnMap) {Map<String, Object> paramMap = new HashMap<>();boolean isJson = false;try {paramMap = JSONUtil.toBean(JSONUtil.toJsonStr(arg), Map.class);isJson = true;} catch (Exception e) {log.debug("非json格式");}

转换 Object arg 到 Map<String, Object> paramMap 时,使用 JSONUtil.toBean 导致的循环溢出

解决方案:寻找更有的 json 转换工具

     private void getBodyParam(Object arg, Map<String, Object> returnMap) {Map<String, Object> paramMap = new HashMap<>();boolean isJson = false;try {ObjectMapper mapper = new ObjectMapper();mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);String jsonStr = mapper.writeValueAsString(arg);paramMap = mapper.readValue(jsonStr, new TypeReference<Map<String, Object>>() {});isJson = true;} catch (Exception e) {log.debug("非json格式");}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com