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

相关内容

热门资讯

必备了解!赖子三加一辅助(辅助... 必备了解!赖子三加一辅助(辅助)潘潘讲故事切实是真的辅助软件(哔哩哔哩)1、让任何用户在无需赖子三加...
教你了解!微乐自建房脚本免费下... 教你了解!微乐自建房脚本免费下载(辅助)桂林字牌本来是有辅助器(哔哩哔哩)亲,关键说明,微乐自建房脚...
总结了解!微信途游辅助器(辅助... 总结了解!微信途游辅助器(辅助)趣乐互娱好像是有辅助app(哔哩哔哩)小薇(辅助器软件下载)致您一封...
分享了解!腾威填大坑辅助(辅助... 分享了解!腾威填大坑辅助(辅助)七七麻将本来是有辅助插件(哔哩哔哩);1、完成腾威填大坑辅助辅助器v...
专业了解!顺欣茶楼辅助(辅助)... 专业了解!顺欣茶楼辅助(辅助)新道游一直是有辅助神器(哔哩哔哩)1、许多玩家不知道顺欣茶楼辅助辅助怎...
总结了解!中至九江脚本(辅助)... 总结了解!中至九江脚本(辅助)panda本来是真的辅助工具(哔哩哔哩)1)中至九江脚本免费钻石:进一...
开挂了解!衢州都莱罗松透视辅助... 开挂了解!衢州都莱罗松透视辅助工具(辅助)新鸿狐切实存在有辅助脚本(哔哩哔哩)1)衢州都莱罗松透视辅...
有挂了解!罗松十三道辅助器(辅... 有挂了解!罗松十三道辅助器(辅助)钢铁互娱果然存在有辅助平台(哔哩哔哩)暗藏猫腻,小编详细说明罗松十...
必备了解!约逗东乡辅助器(辅助... 必备了解!约逗东乡辅助器(辅助)琼雀海南麻将好像有挂辅助安装(哔哩哔哩)1、全新机制【约逗东乡辅助器...
关于了解!填大坑辅助工具排行(... 关于了解!填大坑辅助工具排行(辅助)来趣广西麻将切实是真的辅助挂(哔哩哔哩)1、许多玩家不知道填大坑...