公司的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

相关内容

热门资讯

教程辅助“传送屋激k有挂吗”有... 教程辅助“传送屋激k有挂吗”有挂头条开挂辅助插件扑克教程!;打开点击测试直接进入微信(1367043...
玩家必看科普“大懒人斗十四辅助... 玩家必看科普“大懒人斗十四辅助”wepoker辅助器激活码(带开挂辅助插件科技教程);无需打开直接搜...
教程辅助“小闲巴渝辅助”有挂透... 教程辅助“小闲巴渝辅助”有挂透视开挂辅助下载2026新版技巧《详细加薇136704302咨询》游戏特...
总算了解“雀友会广东潮汕麻雀”... 雀友会广东潮汕麻雀是一款专注玩家量身打造的游戏记牌类型软件,在雀友会广东潮汕麻雀这款游戏中我们可以记...
教程辅助“青龙大厅透视挂在什么... 教程辅助“青龙大厅透视挂在什么位置”有挂教程开挂辅助插件解密教程;打开点击测试直接进入微信(1367...
推荐一款“衢州都莱辅助软件”德... 推荐一款“衢州都莱辅助软件”德普之星透视辅助软件是真的吗(带开挂辅助插件教你攻略)>>您好:软件加薇...
教程辅助“禅游指尖四川破解版”... 教程辅助“禅游指尖四川破解版”有挂规律开挂辅助器解密教程;打开点击测试直接进入微信(13670430...
透视代打“传送屋潮州激k辅助怎... 透视代打“传送屋潮州激k辅助怎么打开”hhpoker是真的还是假的(带开挂辅助软件AI教程);打开点...
教程辅助“兴动互娱脚本免费最新... 教程辅助“兴动互娱脚本免费最新版本”有挂方式开挂辅助软件爆料教程您好:兴动互娱脚本免费最新版本这款游...
查到实测“中至余干小程序破解”... 查到实测“中至余干小程序破解”wepoker手机助手(带开挂辅助神器插件教程)【无需打开直接搜索加薇...