公司的Spring框架接受MIME类型为json格式的带null的字符串,然后这个带null的字段被自动忽略了,排查了好久
创始人
2024-11-15 16:05:45
0

接收方法:

解决方案:

先去掉@RequsetBody 因为使用@RequsetBody时,框架会调用HttpMessageConvert读取HttpRequest的InputStram反序列化为对象,这个InputStram只能读一次。 后续你的代码再通过Reader读输入流时,已经没有内容了,就会异常

然后用下面的方法手动去读http里面的字符串

   //这个方法不会用到公司的框架,很彻底的解决了问题    public String getRequestString(ApiReq apiReq, HttpServletRequest request) {         String body = "";         try (InputStream inputStream = request.getInputStream()) {             ByteArrayOutputStream outputStream = new ByteArrayOutputStream();             byte[] bytes = new byte[1024];             int len;             while ((len = inputStream.read(bytes)) != -1) {                 outputStream.write(bytes, 0, len);             }             body = outputStream.toString(request.getCharacterEncoding());         } catch (Exception e) {             e.printStackTrace();             // throw new BizException("M999", "华润通知读取失败:" + e.getMessage());         }         return body;     }      //这个方法会用到公司的框架     public String getRequestString2(ApiReq apiReq, HttpServletRequest request) {         StringBuilder body = new StringBuilder();         try (BufferedReader reader = request.getReader()) {             String line;             while ((line = reader.readLine()) != null) {                 body.append(line);             }         } catch (Exception e) {             e.printStackTrace();            // throw new BizException("M999", "华润通知读取失败:" + e.getMessage());         }         return body.toString();     }

最后用的getRequestString方法,可以接受MIME为 json和Text 以及其他格式的字符串且不会自动忽略null

相关内容

热门资讯

分享给玩家“途游四川破解”we... 分享给玩家“途游四川破解”wejoker辅助机器人(果然存在有挂)关于途游四川破解机制的,其中提到了...
透视系统!wepoker透视有... 透视系统!wepoker透视有吗,三哥玩辅助(果然真的有挂)1、三哥玩辅助透视辅助简单,三哥玩辅助软...
德普之星app安卓版破解版!x... 德普之星app安卓版破解版!xpoker辅助,aapoker透视脚本下载(详细辅助总结教程)1)德普...
透视脚本“wpk脚本下载”一贯... 透视脚本“wpk脚本下载”一贯是真的有挂(辅助挂)详细辅助存在挂教程1、系统规律教程、辅助透视等服务...
揭秘攻略“陕西微乐小程序辅助”... 此外,数据分析德州(陕西微乐小程序辅助)辅助神器app还具备辅助透视行为开挂功能,通过对客户陕西微乐...
透视美元局!hhpoker透视... 透视美元局!hhpoker透视脚本安卓,wepokerplus作弊(详细辅助介绍教程)是由北京得hh...
透视模拟器!wepokerpl... 透视模拟器!wepokerplus透视脚本免费,杭州都莱大菠萝插件,靠谱教程(有挂解密)1、构建自己...
透视透视挂!aapoker插件... 透视透视挂!aapoker插件下载,游戏茶苑辅助(总是真的是有挂)1、许多玩家不知道游戏茶苑辅助辅助...
wpk有没有脚本!如何下载德普... wpk有没有脚本!如何下载德普之星辅助软件,hhpoker免费透视脚本(详细辅助黑科技教程)1、hh...
透视工具“wepoker辅助器... 透视工具“wepoker辅助器怎么用”竟然存在有挂(辅助挂)详细辅助2025新版;1、全新机制【软件...