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

相关内容

热门资讯

第二分钟透视“wepoker有... 第二分钟透视“wepoker有脚本”pokemmo手机版修改器(必备开挂透视辅助神器)1、起透看视 ...
实测必看!决战十水三余音(透视... 实测必看!决战十水三余音(透视)2025新版教程(玩家作弊开挂辅助安装)是一款可以让一直输的玩家,快...
四次性普及“闲娱江西修改器”科... 四次性普及“闲娱江西修改器”科普作弊开挂辅助器(总是有挂);闲娱江西修改器AI智能教程细节普及闲娱江...
十分钟了解!微信边锋小程序辅助... 十分钟了解!微信边锋小程序辅助器,wepoker私人局透视,高科技教程(原本是有挂);小薇(透视辅助...
一分钟了解!来来舟山麻将辅助(... 一分钟了解!来来舟山麻将辅助(辅助挂)AA德州教程(玩家作弊开挂辅助软件)是一款可以让一直输的玩家,...
两分钟透视“wepoker一直... 两分钟透视“wepoker一直输的号能继续打”wpk俱乐部是做有挂的(了解开挂透视辅助神器)1、we...
第八次性普及“微信微乐跑得快游... 第八次性普及“微信微乐跑得快游戏辅助脚本”发现作弊开挂辅助挂(好像是有挂);微信微乐跑得快游戏辅助脚...
九分钟了解!潮友辅助开挂,德普... 您好:潮友辅助开挂这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别...
4分钟透视“we-poker靠... 4分钟透视“we-poker靠谱”aapoker辅助插件工具(解谜开挂透视辅助插件)1、进入游戏-大...
揭秘关于!小程序游戏辅助必赢(... 揭秘关于!小程序游戏辅助必赢(透视)扑克教程(大神作弊开挂辅助挂);小程序游戏辅助必赢是一种具有地方...